]> git.proxmox.com Git - rustc.git/blame - src/test/ui/proc-macro/span-preservation.rs
New upstream version 1.51.0+dfsg1
[rustc.git] / src / test / ui / proc-macro / span-preservation.rs
CommitLineData
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]
7extern crate test_macros;
a1dfa0c6 8
dc9dc135 9#[recollect_attr]
a1dfa0c6 10fn a() {
e1599b0c 11 let x: usize = "hello"; //~ ERROR mismatched types
a1dfa0c6
XL
12}
13
dc9dc135 14#[recollect_attr]
a1dfa0c6
XL
15fn 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
23fn 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 38extern "C" fn bar() {
60c5eb7d 39 0 //~ ERROR mismatched types
a1dfa0c6
XL
40}
41
dc9dc135 42#[recollect_attr]
a1dfa0c6
XL
43extern "C" fn baz() {
44 0 //~ ERROR mismatched types
45}
46
60c5eb7d
XL
47#[recollect_attr]
48extern "Rust" fn rust_abi() {
49 0 //~ ERROR mismatched types
50}
51
52#[recollect_attr]
53extern "\x43" fn c_abi_escaped() {
54 0 //~ ERROR mismatched types
55}
56
a1dfa0c6 57fn main() {}