summaryrefslogtreecommitdiffstats
path: root/src/test/ui/consts/qualif-indirect-mutation-fail.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/consts/qualif-indirect-mutation-fail.rs')
-rw-r--r--src/test/ui/consts/qualif-indirect-mutation-fail.rs64
1 files changed, 0 insertions, 64 deletions
diff --git a/src/test/ui/consts/qualif-indirect-mutation-fail.rs b/src/test/ui/consts/qualif-indirect-mutation-fail.rs
deleted file mode 100644
index a6d293404..000000000
--- a/src/test/ui/consts/qualif-indirect-mutation-fail.rs
+++ /dev/null
@@ -1,64 +0,0 @@
-// compile-flags: --crate-type=lib
-#![feature(const_mut_refs)]
-#![feature(const_precise_live_drops)]
-#![feature(const_swap)]
-#![feature(raw_ref_op)]
-
-// Mutable borrow of a field with drop impl.
-pub const fn f() {
- let mut a: (u32, Option<String>) = (0, None); //~ ERROR destructor of
- let _ = &mut a.1;
-}
-
-// Mutable borrow of a type with drop impl.
-pub const A1: () = {
- let mut x = None; //~ ERROR destructor of
- let mut y = Some(String::new());
- let a = &mut x;
- let b = &mut y;
- std::mem::swap(a, b);
- std::mem::forget(y);
-};
-
-// Mutable borrow of a type with drop impl.
-pub const A2: () = {
- let mut x = None;
- let mut y = Some(String::new());
- let a = &mut x;
- let b = &mut y;
- std::mem::swap(a, b);
- std::mem::forget(y);
- let _z = x; //~ ERROR destructor of
-};
-
-// Shared borrow of a type that might be !Freeze and Drop.
-pub const fn g1<T>() {
- let x: Option<T> = None; //~ ERROR destructor of
- let _ = x.is_some();
-}
-
-// Shared borrow of a type that might be !Freeze and Drop.
-pub const fn g2<T>() {
- let x: Option<T> = None;
- let _ = x.is_some();
- let _y = x; //~ ERROR destructor of
-}
-
-// Mutable raw reference to a Drop type.
-pub const fn address_of_mut() {
- let mut x: Option<String> = None; //~ ERROR destructor of
- &raw mut x;
-
- let mut y: Option<String> = None; //~ ERROR destructor of
- std::ptr::addr_of_mut!(y);
-}
-
-// Const raw reference to a Drop type. Conservatively assumed to allow mutation
-// until resolution of https://github.com/rust-lang/rust/issues/56604.
-pub const fn address_of_const() {
- let x: Option<String> = None; //~ ERROR destructor of
- &raw const x;
-
- let y: Option<String> = None; //~ ERROR destructor of
- std::ptr::addr_of!(y);
-}