| //@ 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 |
| } |