diff options
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(); -} |