diff options
Diffstat (limited to 'tests/ui/rfc-2632-const-trait-impl/const-impl-trait.rs')
-rw-r--r-- | tests/ui/rfc-2632-const-trait-impl/const-impl-trait.rs | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-impl-trait.rs b/tests/ui/rfc-2632-const-trait-impl/const-impl-trait.rs deleted file mode 100644 index f396deff4..000000000 --- a/tests/ui/rfc-2632-const-trait-impl/const-impl-trait.rs +++ /dev/null @@ -1,55 +0,0 @@ -// known-bug: #110395 -#![allow(incomplete_features)] -#![feature( - associated_type_bounds, - const_trait_impl, - const_cmp, - return_position_impl_trait_in_trait, -)] - -use std::marker::Destruct; - -const fn cmp(a: &impl ~const PartialEq) -> bool { - a == a -} - -const fn wrap(x: impl ~const PartialEq + ~const Destruct) - -> impl ~const PartialEq + ~const Destruct -{ - x -} - -#[const_trait] -trait Foo { - fn huh() -> impl ~const PartialEq + ~const Destruct + Copy; -} - -impl const Foo for () { - fn huh() -> impl ~const PartialEq + ~const Destruct + Copy { - 123 - } -} - -const _: () = { - assert!(cmp(&0xDEADBEEFu32)); - assert!(cmp(&())); - assert!(wrap(123) == wrap(123)); - assert!(wrap(123) != wrap(456)); - let x = <() as Foo>::huh(); - assert!(x == x); -}; - -#[const_trait] -trait T {} -struct S; -impl const T for S {} - -const fn rpit() -> impl ~const T { S } - -const fn apit(_: impl ~const T + ~const Destruct) {} - -const fn rpit_assoc_bound() -> impl IntoIterator<Item: ~const T> { Some(S) } - -const fn apit_assoc_bound(_: impl IntoIterator<Item: ~const T> + ~const Destruct) {} - -fn main() {} |