diff options
Diffstat (limited to 'src/test/ui/proc-macro/resolve-error.rs')
-rw-r--r-- | src/test/ui/proc-macro/resolve-error.rs | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/test/ui/proc-macro/resolve-error.rs b/src/test/ui/proc-macro/resolve-error.rs new file mode 100644 index 000000000..ad8a5bbb0 --- /dev/null +++ b/src/test/ui/proc-macro/resolve-error.rs @@ -0,0 +1,62 @@ +// aux-build:derive-foo.rs +// aux-build:derive-clona.rs +// aux-build:test-macros.rs + +#[macro_use] +extern crate derive_foo; +#[macro_use] +extern crate derive_clona; +extern crate test_macros; + +use test_macros::empty as bang_proc_macro; +use test_macros::empty_attr as attr_proc_macro; + +macro_rules! FooWithLongNam { + () => {} +} + +macro_rules! attr_proc_mac { + () => {} +} + +#[derive(FooWithLongNan)] +//~^ ERROR cannot find +//~| ERROR cannot find +struct Foo; + +// Interpreted as an unstable custom attribute +#[attr_proc_macra] //~ ERROR cannot find attribute `attr_proc_macra` in this scope +struct Bar; + +// Interpreted as an unstable custom attribute +#[FooWithLongNan] //~ ERROR cannot find attribute `FooWithLongNan` in this scope +struct Asdf; + +#[derive(Dlone)] +//~^ ERROR cannot find +//~| ERROR cannot find +struct A; + +#[derive(Dlona)] +//~^ ERROR cannot find +//~| ERROR cannot find +struct B; + +#[derive(attr_proc_macra)] +//~^ ERROR cannot find +//~| ERROR cannot find +struct C; + +fn main() { + FooWithLongNama!(); + //~^ ERROR cannot find + + attr_proc_macra!(); + //~^ ERROR cannot find + + Dlona!(); + //~^ ERROR cannot find + + bang_proc_macrp!(); + //~^ ERROR cannot find +} |