summaryrefslogtreecommitdiffstats
path: root/src/test/ui/let-else/let-else-ref-bindings-pass.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:03 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:03 +0000
commit64d98f8ee037282c35007b64c2649055c56af1db (patch)
tree5492bcf97fce41ee1c0b1cc2add283f3e66cdab0 /src/test/ui/let-else/let-else-ref-bindings-pass.rs
parentAdding debian version 1.67.1+dfsg1-1. (diff)
downloadrustc-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.rs71
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();
-}