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
Thanks! Agreed, probably two desirable lints here as you said: receiver changed + return lifetime change.
It's possible we might be able to catch these before we implement all of #149.
For the "receiver changed" lint, I'd like to make sure our approach is robust to the possible future changes from the "arbitrary receiver types" RFC. I'll need to think about the edge cases there.
FWIW, I remembered there was also an intentional receiver change way back in rust-lang/rust#39466, between Rust 1.15.0 and 1.15.1. Maybe these examples aren't particularly motivating since they were on purpose though. :)
They are very useful actually: they've given me ideas on how to break up
the "type changed in incompatible fashion" problem space into useful and
easier-to-implement components.
It's always good to see how breaking changes happen in the world,
intentional or not.
Is this about an existing lint, or proposing a new one?
new
Known issues that might be causing this
Steps to reproduce the bug with the above code
I was curious if semver-checks could detect this intentional breaking change:
indexmap-rs/indexmap#304
Actual Behaviour
Expected Behaviour
I hoped it would detect the same change that
cargo public-api diff
finds:This could probably be two different lints, one for the changed receiver and one for the return lifetime.
Generated System Information
Software version
cargo-semver-checks 0.35.0
Operating system
Linux 6.10.10-200.fc40.x86_64
Command-line
cargo version
Compile time information
Build Configuration
No response
Additional Context
No response
The text was updated successfully, but these errors were encountered: