You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When the pub trait method's default implementation is removed, the method is no more provided and turns into a declared method. This forces the new version to implement the now-declared method in all of the impl blocks which were deriving that trait with its previously-provided method in the old version.
Required new version: Major
This requires some schema additions:
adding the edge from Trait to its Methods [linked PR]
enabling the has_body field for Method [linked PR]
The text was updated successfully, but these errors were encountered:
The "non-sealed" part here is very important: removing default implementations for sealed traits is not a breaking change -- I think it isn't even semver-minor.
Removing the default implementation is breaking if it can force other crates to provide implementations whereas previously they relied on the existence of a default. Sealed traits cannot be implemented by other crates -- only the crate that defines the sealed trait can implement it. So no other crate could possibly have had implementations of the trait which might be broken.
Sealing a previously non-sealed trait, however, is a very breaking change, and I just added it to the list in #5.
When the
pub trait
method's default implementation is removed, the method is no more provided and turns into a declared method. This forces the new version to implement the now-declared method in all of theimpl
blocks which were deriving that trait with its previously-provided method in the old version.Required new version: Major
This requires some schema additions:
Trait
to itsMethod
s [linked PR]has_body
field forMethod
[linked PR]The text was updated successfully, but these errors were encountered: