rust/src/test/ui/try-on-option-diagnostics.rs
Philipp Gesang 02e66baac6
Test try diagnostics for impl and trait methods
Signed-off-by: Philipp Gesang <phg@phi-gamma.net>
2020-01-21 18:56:56 +01:00

48 lines
759 B
Rust

#![feature(try_trait)]
// 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
}