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