summaryrefslogtreecommitdiffstats
path: root/src/test/ui/let-else/let-else-ref-bindings.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:13 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:13 +0000
commit218caa410aa38c29984be31a5229b9fa717560ee (patch)
treec54bd55eeb6e4c508940a30e94c0032fbd45d677 /src/test/ui/let-else/let-else-ref-bindings.rs
parentReleasing progress-linux version 1.67.1+dfsg1-1~progress7.99u1. (diff)
downloadrustc-218caa410aa38c29984be31a5229b9fa717560ee.tar.xz
rustc-218caa410aa38c29984be31a5229b9fa717560ee.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.rs62
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();
-}