11error: cross-crate traits with a default impl, like `Send`, should not be specialized
2- --> $DIR/suspicious-impls-lint.rs:9 :1
2+ --> $DIR/suspicious-impls-lint.rs:10 :1
33 |
44LL | unsafe impl<T: Send> Send for MayImplementSendErr<&T> {}
55 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -8,18 +8,18 @@ LL | unsafe impl<T: Send> Send for MayImplementSendErr<&T> {}
88 = note: for more information, see issue #93367 <https://github.com/rust-lang/rust/issues/93367>
99 = note: `&T` is not a generic parameter
1010note: try using the same sequence of generic parameters as the struct definition
11- --> $DIR/suspicious-impls-lint.rs:8 :1
11+ --> $DIR/suspicious-impls-lint.rs:9 :1
1212 |
1313LL | struct MayImplementSendErr<T>(T);
1414 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1515note: the lint level is defined here
16- --> $DIR/suspicious-impls-lint.rs:1 :9
16+ --> $DIR/suspicious-impls-lint.rs:2 :9
1717 |
1818LL | #![deny(suspicious_auto_trait_impls)]
1919 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
2020
2121error: cross-crate traits with a default impl, like `Send`, should not be specialized
22- --> $DIR/suspicious-impls-lint.rs:21 :1
22+ --> $DIR/suspicious-impls-lint.rs:22 :1
2323 |
2424LL | unsafe impl Send for ContainsVec<i32> {}
2525 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -28,13 +28,28 @@ LL | unsafe impl Send for ContainsVec<i32> {}
2828 = note: for more information, see issue #93367 <https://github.com/rust-lang/rust/issues/93367>
2929 = note: `i32` is not a generic parameter
3030note: try using the same sequence of generic parameters as the struct definition
31- --> $DIR/suspicious-impls-lint.rs:20 :1
31+ --> $DIR/suspicious-impls-lint.rs:21 :1
3232 |
3333LL | struct ContainsVec<T>(Vec<T>);
3434 | ^^^^^^^^^^^^^^^^^^^^^
3535
3636error: cross-crate traits with a default impl, like `Send`, should not be specialized
37- --> $DIR/suspicious-impls-lint.rs:32:1
37+ --> $DIR/suspicious-impls-lint.rs:25:1
38+ |
39+ LL | impl !Send for ContainsVec<u32> {}
40+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
41+ |
42+ = warning: this will change its meaning in a future release!
43+ = note: for more information, see issue #93367 <https://github.com/rust-lang/rust/issues/93367>
44+ = note: `u32` is not a generic parameter
45+ note: try using the same sequence of generic parameters as the struct definition
46+ --> $DIR/suspicious-impls-lint.rs:21:1
47+ |
48+ LL | struct ContainsVec<T>(Vec<T>);
49+ | ^^^^^^^^^^^^^^^^^^^^^
50+
51+ error: cross-crate traits with a default impl, like `Send`, should not be specialized
52+ --> $DIR/suspicious-impls-lint.rs:36:1
3853 |
3954LL | unsafe impl<T: Send> Send for TwoParamsSame<T, T> {}
4055 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -43,13 +58,13 @@ LL | unsafe impl<T: Send> Send for TwoParamsSame<T, T> {}
4358 = note: for more information, see issue #93367 <https://github.com/rust-lang/rust/issues/93367>
4459 = note: `T` is mentioned multiple times
4560note: try using the same sequence of generic parameters as the struct definition
46- --> $DIR/suspicious-impls-lint.rs:31 :1
61+ --> $DIR/suspicious-impls-lint.rs:35 :1
4762 |
4863LL | struct TwoParamsSame<T, U>(T, U);
4964 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
5065
5166error: cross-crate traits with a default impl, like `Send`, should not be specialized
52- --> $DIR/suspicious-impls-lint.rs:40 :1
67+ --> $DIR/suspicious-impls-lint.rs:44 :1
5368 |
5469LL | unsafe impl<T> Send for WithPhantomDataSend<*const T, i8> {}
5570 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -58,13 +73,28 @@ LL | unsafe impl<T> Send for WithPhantomDataSend<*const T, i8> {}
5873 = note: for more information, see issue #93367 <https://github.com/rust-lang/rust/issues/93367>
5974 = note: `*const T` is not a generic parameter
6075note: try using the same sequence of generic parameters as the struct definition
61- --> $DIR/suspicious-impls-lint.rs:39:1
76+ --> $DIR/suspicious-impls-lint.rs:43:1
77+ |
78+ LL | pub struct WithPhantomDataSend<T, U>(PhantomData<T>, U);
79+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
80+
81+ error: cross-crate traits with a default impl, like `Send`, should not be specialized
82+ --> $DIR/suspicious-impls-lint.rs:47:1
83+ |
84+ LL | impl<T> !Send for WithPhantomDataSend<*const T, u8> {}
85+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
86+ |
87+ = warning: this will change its meaning in a future release!
88+ = note: for more information, see issue #93367 <https://github.com/rust-lang/rust/issues/93367>
89+ = note: `*const T` is not a generic parameter
90+ note: try using the same sequence of generic parameters as the struct definition
91+ --> $DIR/suspicious-impls-lint.rs:43:1
6292 |
6393LL | pub struct WithPhantomDataSend<T, U>(PhantomData<T>, U);
6494 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6595
6696error: cross-crate traits with a default impl, like `Sync`, should not be specialized
67- --> $DIR/suspicious-impls-lint.rs:46 :1
97+ --> $DIR/suspicious-impls-lint.rs:53 :1
6898 |
6999LL | unsafe impl<T> Sync for WithLifetime<'static, Vec<T>> {}
70100 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -73,10 +103,25 @@ LL | unsafe impl<T> Sync for WithLifetime<'static, Vec<T>> {}
73103 = note: for more information, see issue #93367 <https://github.com/rust-lang/rust/issues/93367>
74104 = note: `Vec<T>` is not a generic parameter
75105note: try using the same sequence of generic parameters as the struct definition
76- --> $DIR/suspicious-impls-lint.rs:44:1
106+ --> $DIR/suspicious-impls-lint.rs:51:1
107+ |
108+ LL | pub struct WithLifetime<'a, T>(&'a (), T);
109+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
110+
111+ error: cross-crate traits with a default impl, like `Sync`, should not be specialized
112+ --> $DIR/suspicious-impls-lint.rs:56:1
113+ |
114+ LL | impl<T> !Sync for WithLifetime<'static, Option<T>> {}
115+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
116+ |
117+ = warning: this will change its meaning in a future release!
118+ = note: for more information, see issue #93367 <https://github.com/rust-lang/rust/issues/93367>
119+ = note: `Option<T>` is not a generic parameter
120+ note: try using the same sequence of generic parameters as the struct definition
121+ --> $DIR/suspicious-impls-lint.rs:51:1
77122 |
78123LL | pub struct WithLifetime<'a, T>(&'a (), T);
79124 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
80125
81- error: aborting due to 5 previous errors
126+ error: aborting due to 8 previous errors
82127
0 commit comments