diff options
Diffstat (limited to 'src/test/ui/nll/drop-no-may-dangle.rs')
-rw-r--r-- | src/test/ui/nll/drop-no-may-dangle.rs | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/src/test/ui/nll/drop-no-may-dangle.rs b/src/test/ui/nll/drop-no-may-dangle.rs deleted file mode 100644 index a0ff0c398..000000000 --- a/src/test/ui/nll/drop-no-may-dangle.rs +++ /dev/null @@ -1,30 +0,0 @@ -// Basic test for liveness constraints: the region (`R1`) that appears -// in the type of `p` must include everything until `p` is dropped -// because of destructor. (Note that the stderr also identifies this -// destructor in the error message.) - -#![allow(warnings)] -#![feature(dropck_eyepatch)] - -fn use_x(_: usize) -> bool { true } - -fn main() { - let mut v = [1, 2, 3]; - let p: WrapMayNotDangle<&usize> = WrapMayNotDangle { value: &v[0] }; - if true { - use_x(*p.value); - } else { - use_x(22); - v[0] += 1; //~ ERROR cannot assign to `v[_]` because it is borrowed - } - - v[0] += 1; //~ ERROR cannot assign to `v[_]` because it is borrowed -} - -struct WrapMayNotDangle<T> { - value: T -} - -impl<T> Drop for WrapMayNotDangle<T> { - fn drop(&mut self) { } -} |