47 lines
1.9 KiB
Plaintext
47 lines
1.9 KiB
Plaintext
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
|
|
--> $DIR/specialization-transmute.rs:4:12
|
|
|
|
|
LL | #![feature(specialization)]
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
|
|
= help: consider using `min_specialization` instead, which is more stable and complete
|
|
= note: `#[warn(incomplete_features)]` on by default
|
|
|
|
error: cannot normalize `<T as Default>::Id: '_`
|
|
|
|
error[E0284]: type annotations needed: cannot satisfy `<T as Default>::Id == _`
|
|
--> $DIR/specialization-transmute.rs:16:23
|
|
|
|
|
LL | fn intu(&self) -> &Self::Id {
|
|
| ^^^^^^^^^ cannot satisfy `<T as Default>::Id == _`
|
|
|
|
error[E0284]: type annotations needed: cannot satisfy `T <: <T as Default>::Id`
|
|
--> $DIR/specialization-transmute.rs:18:9
|
|
|
|
|
LL | self
|
|
| ^^^^ cannot satisfy `T <: <T as Default>::Id`
|
|
|
|
error[E0284]: type annotations needed: cannot satisfy `<u8 as Default>::Id == Option<NonZero<u8>>`
|
|
--> $DIR/specialization-transmute.rs:29:13
|
|
|
|
|
LL | let s = transmute::<u8, Option<NonZero<u8>>>(0);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot satisfy `<u8 as Default>::Id == Option<NonZero<u8>>`
|
|
|
|
|
note: required by a bound in `transmute`
|
|
--> $DIR/specialization-transmute.rs:22:25
|
|
|
|
|
LL | fn transmute<T: Default<Id = U>, U: Copy>(t: T) -> U {
|
|
| ^^^^^^ required by this bound in `transmute`
|
|
|
|
error[E0282]: type annotations needed
|
|
--> $DIR/specialization-transmute.rs:14:23
|
|
|
|
|
LL | default type Id = T;
|
|
| ^ cannot infer type for associated type `<T as Default>::Id`
|
|
|
|
error: aborting due to 5 previous errors; 1 warning emitted
|
|
|
|
Some errors have detailed explanations: E0282, E0284.
|
|
For more information about an error, try `rustc --explain E0282`.
|