rust-clippy
rust-clippy copied to clipboard
Reeneable should_assert_eq lint
Suggest replacing assert!(a == b) with assert_eq!(a, b). This is useful, because given the environment let a = 1, let b = 2, the displayed error changes between:
assert!(a == b)givesassertion failed: a == bassert_eq!(a, b)givesassertion_failed: left = 1, right = 2
The latter is vastly more helpful at diagnosing test failures. This lint was removed in #2156 because of RFC 2011. It's hard to follow the implementation progress of that RFC, but the issue hasn't been updated since early 2018, and I got the above assertion failures using a 2020-10-15 toolchain, so assert_eq! is still preferable.
One year later the situation hasn't get any better. I vote for reenabling this as well and letting it enabled up until a certain rust version.
Maybe one could use the MSRV and if it's lower than 1.xx it should lint that code, otherwise not.
Given that RFC 2011 hinges on an edition change, it will take at least until 2027/2028 for it to be generally available. Or later if the implementation misses that deadline.
In the mean-time however, attempting to re-enable the (deprecated) should_assert_eq lint will incorrectly claim that RFC 2011 already has been implemented, and do nothing else. Playground
This is the output of clippy (also note the missing backtick).
warning: lint `clippy::should_assert_eq` has been removed: `assert!(a == b)` can now print the values the same way `assert_eq!(a, b) can
I suggest to bring back the lint as allow-by-default.