mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-29 20:15:27 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			737 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			737 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| // edition:2018
 | |
| 
 | |
| fn main() {}
 | |
| 
 | |
| fn a_function() -> u32 {
 | |
|     let x: Option<u32> = None;
 | |
|     x?; //~ ERROR the `?` operator
 | |
|     22
 | |
| }
 | |
| 
 | |
| fn a_closure() -> u32 {
 | |
|     let a_closure = || {
 | |
|         let x: Option<u32> = None;
 | |
|         x?; //~ ERROR the `?` operator
 | |
|         22
 | |
|     };
 | |
|     a_closure()
 | |
| }
 | |
| 
 | |
| fn a_method() -> u32 {
 | |
|     struct S;
 | |
| 
 | |
|     impl S {
 | |
|         fn a_method() {
 | |
|             let x: Option<u32> = None;
 | |
|             x?; //~ ERROR the `?` operator
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     S::a_method();
 | |
|     22
 | |
| }
 | |
| 
 | |
| fn a_trait_method() -> u32 {
 | |
|     struct S;
 | |
|     trait T {
 | |
|         fn a_trait_method() {
 | |
|             let x: Option<u32> = None;
 | |
|             x?; //~ ERROR the `?` operator
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     impl T for S { }
 | |
| 
 | |
|     S::a_trait_method();
 | |
|     22
 | |
| }
 | 
