В nightly Rust тестируют ограничения на реализации трейтов и мутацию полей
В nightly Rust появился для тестирования RFC 3323: impl_restriction ограничивает область реализации трейта (например, impl(crate)), а mut_restriction — область мутации поля (pub mut(crate)). Это более прямой вариант sealed trait и геттеров, с понятными ошибками компилятора; работает и для enum-вариантов, и для union.