diff options
Diffstat (limited to 'tests/ui/traits/new-solver/specialization-transmute.rs')
-rw-r--r-- | tests/ui/traits/new-solver/specialization-transmute.rs | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/tests/ui/traits/new-solver/specialization-transmute.rs b/tests/ui/traits/new-solver/specialization-transmute.rs deleted file mode 100644 index fac7d76f8..000000000 --- a/tests/ui/traits/new-solver/specialization-transmute.rs +++ /dev/null @@ -1,28 +0,0 @@ -// compile-flags: -Ztrait-solver=next - -#![feature(specialization)] -//~^ WARN the feature `specialization` is incomplete - -trait Default { - type Id; - - fn intu(&self) -> &Self::Id; -} - -impl<T> Default for T { - default type Id = T; //~ ERROR type annotations needed - // This will be fixed by #111994 - fn intu(&self) -> &Self::Id { //~ ERROR type annotations needed - self - } -} - -fn transmute<T: Default<Id = U>, U: Copy>(t: T) -> U { - *t.intu() -} - -use std::num::NonZeroU8; -fn main() { - let s = transmute::<u8, Option<NonZeroU8>>(0); // this call should then error - assert_eq!(s, None); -} |