mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-03 22:49:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
#![feature(let_chains)]
 | 
						|
 | 
						|
fn main() {
 | 
						|
    let opt = Some(1i32);
 | 
						|
 | 
						|
    let Some(n) = opt else {
 | 
						|
        return;
 | 
						|
    };
 | 
						|
    let Some(n) = opt && n == 1 else {
 | 
						|
    //~^ ERROR a `&&` expression cannot be directly assigned in `let...else`
 | 
						|
    //~| ERROR mismatched types
 | 
						|
    //~| ERROR mismatched types
 | 
						|
        return;
 | 
						|
    };
 | 
						|
    let Some(n) = opt && let another = n else {
 | 
						|
    //~^ ERROR a `&&` expression cannot be directly assigned in `let...else`
 | 
						|
    //~| ERROR `let` expressions are not supported here
 | 
						|
    //~| ERROR mismatched types
 | 
						|
    //~| ERROR mismatched types
 | 
						|
    //~| ERROR expected expression, found `let` statement
 | 
						|
        return;
 | 
						|
    };
 | 
						|
 | 
						|
    if let Some(n) = opt else {
 | 
						|
    //~^ ERROR this `if` expression is missing a block after the condition
 | 
						|
        return;
 | 
						|
    };
 | 
						|
    if let Some(n) = opt && n == 1 else {
 | 
						|
    //~^ ERROR this `if` expression is missing a block after the condition
 | 
						|
        return;
 | 
						|
    };
 | 
						|
    if let Some(n) = opt && let another = n else {
 | 
						|
    //~^ ERROR this `if` expression is missing a block after the condition
 | 
						|
        return;
 | 
						|
    };
 | 
						|
 | 
						|
    {
 | 
						|
        while let Some(n) = opt else {
 | 
						|
        //~^ ERROR expected `{`, found keyword `else`
 | 
						|
            return;
 | 
						|
        };
 | 
						|
    }
 | 
						|
    {
 | 
						|
        while let Some(n) = opt && n == 1 else {
 | 
						|
        //~^ ERROR expected `{`, found keyword `else`
 | 
						|
            return;
 | 
						|
        };
 | 
						|
    }
 | 
						|
    {
 | 
						|
        while let Some(n) = opt && let another = n else {
 | 
						|
        //~^ ERROR expected `{`, found keyword `else`
 | 
						|
            return;
 | 
						|
        };
 | 
						|
    }
 | 
						|
}
 |