Combining a few thoughts:
-
pub(use in path, impl in path)
syntax as suggested by @jdahlstrom- opens the door to readonly fields —
pub(use in path, mut in path)
could work
- opens the door to readonly fields —
-
#[non_exhaustive]
on trait definition to indicate that more items can be added in the future- implies
pub(impl in crate)
- no impact on coherence
- not sure if this is actually necessary given
pub(impl in path)
?
- implies
-
#[sealed]
as a future possibility to impact coherence- notably does not have to be decided right now