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.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.rs')
-rw-r--r-- | src/test/ui/let-else/let-else-ref-bindings.rs | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/src/test/ui/let-else/let-else-ref-bindings.rs b/src/test/ui/let-else/let-else-ref-bindings.rs deleted file mode 100644 index 687e235d4..000000000 --- a/src/test/ui/let-else/let-else-ref-bindings.rs +++ /dev/null @@ -1,62 +0,0 @@ -#![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 | | | OK - // | x | | x | OK - // | | | x | OK - // | x | x | | - let Some(ref a): Option<&[u8]> = some else { return }; //~ ERROR mismatched types - let b: & [u8] = a; - - // | x | x | x | - let Some(ref a): Option<&[u8]> = &some else { return }; //~ ERROR mismatched types - let b: & [u8] = a; - - // | | x | | - let Some(a): Option<&[u8]> = some else { return }; //~ ERROR mismatched types - let b: &[u8] = a; - // | | x | x | - let Some(a): Option<&[u8]> = &some else { return }; //~ ERROR mismatched types - 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 | | | OK - // | x | | x | OK - // | | | x | OK - // | x | x | | - let Some(ref mut a): Option<&mut [u8]> = some else { return }; //~ ERROR mismatched types - let b: &mut [u8] = a; - - // | x | x | x | (nope) - let Some(ref mut a): Option<&mut [u8]> = &mut some else { return }; //~ ERROR mismatched types - let b: &mut [u8] = a; - - // | | x | | - let Some(a): Option<&mut [u8]> = some else { return }; //~ ERROR mismatched types - let b: &mut [u8] = a; - // | | x | x | - let Some(a): Option<&mut [u8]> = &mut some else { return }; //~ ERROR mismatched types - let b: &mut [u8] = a; -} - -fn main() { - ref_(); - ref_mut(); -} |