diff options
Diffstat (limited to 'src/test/ui/mismatched_types/abridged.rs')
-rw-r--r-- | src/test/ui/mismatched_types/abridged.rs | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/test/ui/mismatched_types/abridged.rs b/src/test/ui/mismatched_types/abridged.rs new file mode 100644 index 000000000..9a5c183ca --- /dev/null +++ b/src/test/ui/mismatched_types/abridged.rs @@ -0,0 +1,62 @@ +enum Bar { + Qux, + Zar, +} + +struct Foo { + bar: usize, +} + +struct X<T1, T2> { + 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> { + Foo { bar: 1 } //~ ERROR mismatched types +} + +fn c() -> Result<Foo, Bar> { + Foo { bar: 1 } //~ ERROR mismatched types +} + +fn d() -> X<X<String, String>, String> { + let x = X { + x: X { + x: "".to_string(), + y: 2, + }, + y: 3, + }; + x //~ ERROR mismatched types +} + +fn e() -> X<X<String, String>, 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() {} |