]>
Commit | Line | Data |
---|---|---|
a1dfa0c6 XL |
1 | // For each of these, we should get the appropriate type mismatch error message, |
2 | // and the function should be echoed. | |
3 | ||
60c5eb7d XL |
4 | // aux-build:test-macros.rs |
5 | ||
dc9dc135 XL |
6 | #[macro_use] |
7 | extern crate test_macros; | |
a1dfa0c6 | 8 | |
dc9dc135 | 9 | #[recollect_attr] |
a1dfa0c6 | 10 | fn a() { |
e1599b0c | 11 | let x: usize = "hello"; //~ ERROR mismatched types |
a1dfa0c6 XL |
12 | } |
13 | ||
dc9dc135 | 14 | #[recollect_attr] |
a1dfa0c6 XL |
15 | fn b(x: Option<isize>) -> usize { |
16 | match x { | |
17 | Some(x) => { return x }, //~ ERROR mismatched types | |
18 | None => 10 | |
19 | } | |
20 | } | |
21 | ||
dc9dc135 | 22 | #[recollect_attr] |
a1dfa0c6 XL |
23 | fn c() { |
24 | struct Foo { | |
25 | a: usize | |
26 | } | |
27 | ||
28 | struct Bar { | |
29 | a: usize, | |
30 | b: usize | |
31 | } | |
32 | ||
33 | let x = Foo { a: 10isize }; //~ ERROR mismatched types | |
34 | let y = Foo { a: 10, b: 10isize }; //~ ERROR has no field named `b` | |
35 | } | |
36 | ||
dc9dc135 | 37 | #[recollect_attr] |
5869c6ff | 38 | extern "C" fn bar() { |
60c5eb7d | 39 | 0 //~ ERROR mismatched types |
a1dfa0c6 XL |
40 | } |
41 | ||
dc9dc135 | 42 | #[recollect_attr] |
a1dfa0c6 XL |
43 | extern "C" fn baz() { |
44 | 0 //~ ERROR mismatched types | |
45 | } | |
46 | ||
60c5eb7d XL |
47 | #[recollect_attr] |
48 | extern "Rust" fn rust_abi() { | |
49 | 0 //~ ERROR mismatched types | |
50 | } | |
51 | ||
52 | #[recollect_attr] | |
53 | extern "\x43" fn c_abi_escaped() { | |
54 | 0 //~ ERROR mismatched types | |
55 | } | |
56 | ||
a1dfa0c6 | 57 | fn main() {} |