mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-04 06:56:14 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			18 lines
		
	
	
		
			333 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			333 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
//@ run-pass
 | 
						|
 | 
						|
fn or_pat_let(x: Result<u32, u32>) -> u32 {
 | 
						|
    let (Ok(y) | Err(y)) = x;
 | 
						|
    y
 | 
						|
}
 | 
						|
 | 
						|
fn or_pat_arg((Ok(y) | Err(y)): Result<u32, u32>) -> u32 {
 | 
						|
    y
 | 
						|
}
 | 
						|
 | 
						|
fn main() {
 | 
						|
    assert_eq!(or_pat_let(Ok(3)), 3);
 | 
						|
    assert_eq!(or_pat_let(Err(5)), 5);
 | 
						|
    assert_eq!(or_pat_arg(Ok(7)), 7);
 | 
						|
    assert_eq!(or_pat_arg(Err(9)), 9);
 | 
						|
}
 |