diff options
Diffstat (limited to 'src/test/ui/specialization/const_trait_impl.rs')
| -rw-r--r-- | src/test/ui/specialization/const_trait_impl.rs | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/src/test/ui/specialization/const_trait_impl.rs b/src/test/ui/specialization/const_trait_impl.rs deleted file mode 100644 index 05ba4c8d45d..00000000000 --- a/src/test/ui/specialization/const_trait_impl.rs +++ /dev/null @@ -1,55 +0,0 @@ -// check-pass -#![feature(const_trait_impl, min_specialization, rustc_attrs)] - -#[rustc_specialization_trait] -#[const_trait] -pub unsafe trait Sup { - fn foo() -> u32; -} - -#[rustc_specialization_trait] -#[const_trait] -pub unsafe trait Sub: ~const Sup {} - -unsafe impl const Sup for u8 { - default fn foo() -> u32 { - 1 - } -} - -unsafe impl const Sup for () { - fn foo() -> u32 { - 42 - } -} - -unsafe impl const Sub for () {} - -#[const_trait] -pub trait A { - fn a() -> u32; -} - -impl<T: ~const Default> const A for T { - default fn a() -> u32 { - 2 - } -} - -impl<T: ~const Default + ~const Sup> const A for T { - default fn a() -> u32 { - 3 - } -} - -impl<T: ~const Default + ~const Sub> const A for T { - fn a() -> u32 { - T::foo() - } -} - -const _: () = assert!(<()>::a() == 42); -const _: () = assert!(<u8>::a() == 3); -const _: () = assert!(<u16>::a() == 2); - -fn main() {} |
