summaryrefslogtreecommitdiffstats
path: root/src/test/ui/let-else/let-else-ref-bindings-pass.rs
diff options
context:
space:
mode:
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();
-}