mirror of
https://github.com/rust-lang/rust
synced 2024-09-15 22:50:55 +00:00
38 lines
1 KiB
Rust
38 lines
1 KiB
Rust
//@ edition: 2021
|
|
#![allow(incomplete_features)]
|
|
#![feature(ref_pat_eat_one_layer_2024)]
|
|
pub fn main() {
|
|
if let Some(Some(&x)) = &Some(&Some(0)) {
|
|
//~^ ERROR: mismatched types
|
|
let _: u32 = x;
|
|
}
|
|
if let Some(Some(&x)) = &Some(Some(&0)) {
|
|
let _: &u32 = x;
|
|
//~^ ERROR: mismatched types
|
|
}
|
|
if let Some(Some(&&x)) = &Some(Some(&0)) {
|
|
//~^ ERROR: mismatched types
|
|
let _: u32 = x;
|
|
}
|
|
if let Some(&Some(x)) = &Some(Some(0)) {
|
|
//~^ ERROR: mismatched types
|
|
let _: u32 = x;
|
|
}
|
|
if let Some(Some(&mut x)) = &mut Some(&mut Some(0)) {
|
|
//~^ ERROR: mismatched types
|
|
let _: u32 = x;
|
|
}
|
|
if let Some(Some(&x)) = &Some(&Some(0)) {
|
|
//~^ ERROR: mismatched types
|
|
let _: u32 = x;
|
|
}
|
|
if let Some(&mut Some(&x)) = &Some(&mut Some(0)) {
|
|
//~^ ERROR: mismatched types
|
|
let _: u32 = x;
|
|
}
|
|
if let Some(&Some(&mut x)) = &mut Some(&Some(0)) {
|
|
//~^ ERROR: mismatched types
|
|
let _: u32 = x;
|
|
}
|
|
}
|