Is this trait sealed, or not sealed — that is the question
This title could be clearer and more informative.Try out Clickbait Shieldfor free (5 uses left this month).
cargo-semver-checks v0.35 introduces accurate detection of sealed Rust traits, enabling it to catch new categories of SemVer breakage. The post explains why adding items to a trait may or may not be a breaking change depending on whether the trait is sealed. It walks through the multiple layers of complexity involved: traits can be sealed via inaccessible function/const signatures, inaccessible trait names, sealed supertraits, or blanket implementations. Blanket implementations are especially tricky — some unseal a trait while others don't — and the analysis must account for Rust's trait coherence rules. Even cyclic sealing relationships are possible. The tool handles all these cases automatically in fractions of a second, removing the need for developers to manually reason through these complex SemVer rules.