this commit makes `deref_into_dyn_supertrait` lint allow-by-default, removes future incompatibility (we finally live in a broken world), and changes the wording in the documentation. previously documentation erroneously said that it lints against *usage* of the deref impl, while it actually (since 104742) lints on the impl itself (oooops, my oversight, should have updated it 2+ years ago...)
18 lines
642 B
Plaintext
18 lines
642 B
Plaintext
warning: this `Deref` implementation is covered by an implicit supertrait coercion
|
|
--> $DIR/migrate-lint-different-substs.rs:12:1
|
|
|
|
|
LL | impl<'a> Deref for dyn Foo + 'a {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `dyn Foo` implements `Deref<Target = dyn Bar<u32>>` which conflicts with supertrait `Bar<i32>`
|
|
LL |
|
|
LL | type Target = dyn Bar<u32> + 'a;
|
|
| -------------------------------- target type is a supertrait of `dyn Foo`
|
|
|
|
|
note: the lint level is defined here
|
|
--> $DIR/migrate-lint-different-substs.rs:2:9
|
|
|
|
|
LL | #![warn(deref_into_dyn_supertrait)]
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: 1 warning emitted
|
|
|