Sealed traits

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
  • #[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)?
  • #[sealed] as a future possibility to impact coherence
    • notably does not have to be decided right now
6 Likes