mirror of https://github.com/rust-lang/rust
63 lines
917 B
Rust
63 lines
917 B
Rust
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() {}
|