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