enum Bar { Qux, Zar, } struct Foo { bar: usize, } struct X { x: T1, y: T2, } fn a() -> Foo { Some(Foo { bar: 1 }) //~ ERROR mismatched types } fn a2() -> Foo { Ok(Foo { bar: 1}) //~ ERROR mismatched types } fn b() -> Option { Foo { bar: 1 } //~ ERROR mismatched types } fn c() -> Result { Foo { bar: 1 } //~ ERROR mismatched types } fn d() -> X, String> { let x = X { x: X { x: "".to_string(), y: 2, }, y: 3, }; x //~ ERROR mismatched types } fn e() -> X, String> { let x = X { x: X { x: "".to_string(), y: 2, }, y: "".to_string(), }; x //~ ERROR mismatched types } fn f() -> String { 1+2 //~ ERROR mismatched types } fn g() -> String { -2 //~ ERROR mismatched types } fn main() {}