diff options
Diffstat (limited to 'tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.rs')
-rw-r--r-- | tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.rs | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.rs b/tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.rs deleted file mode 100644 index 3de9d37d4..000000000 --- a/tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.rs +++ /dev/null @@ -1,43 +0,0 @@ -// known-bug: #110395 -#![feature(const_trait_impl)] -#![feature(const_mut_refs)] -#![cfg_attr(precise, feature(const_precise_live_drops))] - -use std::marker::{Destruct, PhantomData}; - -struct NonTrivialDrop; - -impl Drop for NonTrivialDrop { - fn drop(&mut self) { - println!("Non trivial drop"); - } -} - -#[const_trait] -trait A { fn a() { } } - -impl A for NonTrivialDrop {} - -struct ConstDropImplWithBounds<T: ~const A>(PhantomData<T>); - -impl<T: ~const A> const Drop for ConstDropImplWithBounds<T> { - fn drop(&mut self) { - T::a(); - } -} - -const fn check<T: ~const Destruct>(_: T) {} - -const _: () = check::<ConstDropImplWithBounds<NonTrivialDrop>>( - ConstDropImplWithBounds(PhantomData) -); - -struct ConstDropImplWithNonConstBounds<T: A>(PhantomData<T>); - -impl<T: ~const A> const Drop for ConstDropImplWithNonConstBounds<T> { - fn drop(&mut self) { - T::a(); - } -} - -fn main() {} |