diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
commit | 64d98f8ee037282c35007b64c2649055c56af1db (patch) | |
tree | 5492bcf97fce41ee1c0b1cc2add283f3e66cdab0 /src/test/ui/nll/enum-drop-access.rs | |
parent | Adding debian version 1.67.1+dfsg1-1. (diff) | |
download | rustc-64d98f8ee037282c35007b64c2649055c56af1db.tar.xz rustc-64d98f8ee037282c35007b64c2649055c56af1db.zip |
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/nll/enum-drop-access.rs')
-rw-r--r-- | src/test/ui/nll/enum-drop-access.rs | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/src/test/ui/nll/enum-drop-access.rs b/src/test/ui/nll/enum-drop-access.rs deleted file mode 100644 index 5ef0c3fe7..000000000 --- a/src/test/ui/nll/enum-drop-access.rs +++ /dev/null @@ -1,49 +0,0 @@ -enum DropOption<T> { - Some(T), - None, -} - -impl<T> Drop for DropOption<T> { - fn drop(&mut self) {} -} - -// Dropping opt could access the value behind the reference, -fn drop_enum(opt: DropOption<&mut i32>) -> Option<&mut i32> { - match opt { - DropOption::Some(&mut ref mut r) => { //~ ERROR - Some(r) - }, - DropOption::None => None, - } -} - -fn optional_drop_enum(opt: Option<DropOption<&mut i32>>) -> Option<&mut i32> { - match opt { - Some(DropOption::Some(&mut ref mut r)) => { //~ ERROR - Some(r) - }, - Some(DropOption::None) | None => None, - } -} - -// Ok, dropping opt doesn't access the reference -fn optional_tuple(opt: Option<(&mut i32, String)>) -> Option<&mut i32> { - match opt { - Some((&mut ref mut r, _)) => { - Some(r) - }, - None => None, - } -} - -// Ok, dropping res doesn't access the Ok case. -fn different_variants(res: Result<&mut i32, String>) -> Option<&mut i32> { - match res { - Ok(&mut ref mut r) => { - Some(r) - }, - Err(_) => None, - } -} - -fn main() {} |