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/let-else/let-else-ref-bindings-pass.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/let-else/let-else-ref-bindings-pass.rs')
-rw-r--r-- | src/test/ui/let-else/let-else-ref-bindings-pass.rs | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/src/test/ui/let-else/let-else-ref-bindings-pass.rs b/src/test/ui/let-else/let-else-ref-bindings-pass.rs deleted file mode 100644 index 62fc65731..000000000 --- a/src/test/ui/let-else/let-else-ref-bindings-pass.rs +++ /dev/null @@ -1,71 +0,0 @@ -// check-pass - - -#![allow(unused_variables)] - -fn ref_() { - let bytes: Vec<u8> = b"Hello"[..].to_vec(); - let some = Some(bytes); - - let Some(ref a) = Some(()) else { return }; - - // | ref | type annotation | & | - // | --- | --------------- | - | - // | x | x | | error - // | x | x | x | error - // | | x | | error - // | | x | x | error - // | x | | | - let Some(ref a) = some else { return }; // OK - let b: &[u8] = a; - - // | x | | x | - let Some(ref a) = &some else { return }; // OK - let b: &[u8] = a; - - - // | | | x | - let Some(a) = &some else { return }; // OK - let b: &[u8] = a; - - let Some(a): Option<&[u8]> = some.as_deref() else { return }; // OK - let b: &[u8] = a; - let Some(ref a): Option<&[u8]> = some.as_deref() else { return }; // OK - let b: &[u8] = a; -} - -fn ref_mut() { - // This `ref mut` case had an ICE, see issue #89960 - let Some(ref mut a) = Some(()) else { return }; - - let bytes: Vec<u8> = b"Hello"[..].to_vec(); - let mut some = Some(bytes); - - // | ref mut | type annotation | &mut | - // | ------- | --------------- | ---- | - // | x | x | | error - // | x | x | x | error - // | | x | | error - // | | x | x | error - // | x | | | - let Some(ref mut a) = some else { return }; // OK - let b: &mut [u8] = a; - - // | x | | x | - let Some(ref mut a) = &mut some else { return }; // OK - let b: &mut [u8] = a; - - // | | | x | - let Some(a) = &mut some else { return }; // OK - let b: &mut [u8] = a; - - let Some(a): Option<&mut [u8]> = some.as_deref_mut() else { return }; // OK - let b: &mut [u8] = a; - let Some(ref mut a): Option<&mut [u8]> = some.as_deref_mut() else { return }; // OK - let b: &mut [u8] = a; -} - -fn main() { - ref_(); - ref_mut(); -} |