From 5f7ca55df6a89e3caa3131a13490cc01956149e7 Mon Sep 17 00:00:00 2001 From: Oli Scherer Date: Thu, 10 Mar 2022 14:28:28 +0000 Subject: [PATCH] Revert accidental stabilization --- library/alloc/src/boxed.rs | 3 +-- library/alloc/tests/boxed.rs | 2 +- src/test/ui/consts/drop_box.rs | 4 ++++ src/test/ui/consts/drop_box.stderr | 11 +++++++++++ 4 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 src/test/ui/consts/drop_box.rs create mode 100644 src/test/ui/consts/drop_box.stderr diff --git a/library/alloc/src/boxed.rs b/library/alloc/src/boxed.rs index 68bf59a01b3dd..f753189c68308 100644 --- a/library/alloc/src/boxed.rs +++ b/library/alloc/src/boxed.rs @@ -1170,8 +1170,7 @@ impl Box { } #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_const_unstable(feature = "const_box", issue = "92521")] -unsafe impl<#[may_dangle] T: ?Sized, A: Allocator> const Drop for Box { +unsafe impl<#[may_dangle] T: ?Sized, A: Allocator> Drop for Box { fn drop(&mut self) { // FIXME: Do nothing, drop is currently performed by compiler. } diff --git a/library/alloc/tests/boxed.rs b/library/alloc/tests/boxed.rs index 0d7acfed8c6a1..9e5123be98990 100644 --- a/library/alloc/tests/boxed.rs +++ b/library/alloc/tests/boxed.rs @@ -160,7 +160,7 @@ fn const_box() { *boxed = 42; assert!(*boxed == 42); - *boxed + *Box::leak(boxed) }; assert!(VALUE == 42); diff --git a/src/test/ui/consts/drop_box.rs b/src/test/ui/consts/drop_box.rs new file mode 100644 index 0000000000000..58a373a967388 --- /dev/null +++ b/src/test/ui/consts/drop_box.rs @@ -0,0 +1,4 @@ +const fn f(_: Box) {} +//~^ ERROR destructors cannot be evaluated at compile-time + +fn main() {} diff --git a/src/test/ui/consts/drop_box.stderr b/src/test/ui/consts/drop_box.stderr new file mode 100644 index 0000000000000..b9d6581e8ecc8 --- /dev/null +++ b/src/test/ui/consts/drop_box.stderr @@ -0,0 +1,11 @@ +error[E0493]: destructors cannot be evaluated at compile-time + --> $DIR/drop_box.rs:1:15 + | +LL | const fn f(_: Box) {} + | ^ - value is dropped here + | | + | constant functions cannot evaluate destructors + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0493`.