2019-10-28 14:04:15 -05:00
|
|
|
// edition:2018
|
2022-01-19 09:24:49 -06:00
|
|
|
|
2019-10-28 14:04:15 -05:00
|
|
|
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()
|
|
|
|
}
|
2020-01-21 14:51:13 -06:00
|
|
|
|
|
|
|
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
|
|
|
|
}
|