]> git.lizzy.rs Git - rust.git/blob - src/test/compile-fail-fulldeps/proc-macro/resolve-error.rs
Fix checking for missing stability annotations
[rust.git] / src / test / compile-fail-fulldeps / proc-macro / resolve-error.rs
1 // Copyright 2016 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
4 //
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
10
11 // aux-build:derive-foo.rs
12 // aux-build:derive-clona.rs
13 // aux-build:attr_proc_macro.rs
14 // aux-build:bang_proc_macro.rs
15
16 #![feature(proc_macro)]
17 #![allow(unused_macros)]
18
19 #[macro_use]
20 extern crate derive_foo;
21 #[macro_use]
22 extern crate derive_clona;
23 extern crate attr_proc_macro;
24 extern crate bang_proc_macro;
25
26 use attr_proc_macro::attr_proc_macro;
27 use bang_proc_macro::bang_proc_macro;
28
29 macro_rules! FooWithLongNam {
30     () => {}
31 }
32
33 macro_rules! attr_proc_mac {
34     () => {}
35 }
36
37 #[derive(FooWithLongNan)]
38 //~^ ERROR cannot find derive macro `FooWithLongNan` in this scope
39 //~^^ HELP did you mean `FooWithLongName`?
40 struct Foo;
41
42 #[attr_proc_macra]
43 //~^ ERROR cannot find attribute macro `attr_proc_macra` in this scope
44 //~^^ HELP did you mean `attr_proc_macro`?
45 struct Bar;
46
47 #[FooWithLongNan]
48 //~^ ERROR cannot find attribute macro `FooWithLongNan` in this scope
49 struct Asdf;
50
51 #[derive(Dlone)]
52 //~^ ERROR cannot find derive macro `Dlone` in this scope
53 //~^^ HELP did you mean `Clone`?
54 struct A;
55
56 #[derive(Dlona)]
57 //~^ ERROR cannot find derive macro `Dlona` in this scope
58 //~^^ HELP did you mean `Clona`?
59 struct B;
60
61 #[derive(attr_proc_macra)]
62 //~^ ERROR cannot find derive macro `attr_proc_macra` in this scope
63 struct C;
64
65 fn main() {
66     FooWithLongNama!();
67     //~^ ERROR cannot find macro `FooWithLongNama!` in this scope
68     //~^^ HELP did you mean `FooWithLongNam!`?
69
70     attr_proc_macra!();
71     //~^ ERROR cannot find macro `attr_proc_macra!` in this scope
72     //~^^ HELP did you mean `attr_proc_mac!`?
73
74     Dlona!();
75     //~^ ERROR cannot find macro `Dlona!` in this scope
76
77     bang_proc_macrp!();
78     //~^ ERROR cannot find macro `bang_proc_macrp!` in this scope
79     //~^^ HELP did you mean `bang_proc_macro!`?
80 }