// aux-build:derive-foo.rs
// aux-build:derive-clona.rs
// aux-build:attr_proc_macro.rs
+// aux-build:bang_proc_macro.rs
#![feature(proc_macro)]
+#![allow(unused_macros)]
#[macro_use]
extern crate derive_foo;
#[macro_use]
extern crate derive_clona;
extern crate attr_proc_macro;
+extern crate bang_proc_macro;
use attr_proc_macro::attr_proc_macro;
+use bang_proc_macro::bang_proc_macro;
-#[derive(FooWithLongNam)]
-//~^ ERROR cannot find derive macro `FooWithLongNam` in this scope
+macro_rules! FooWithLongNam {
+ () => {}
+}
+
+macro_rules! attr_proc_mac {
+ () => {}
+}
+
+#[derive(FooWithLongNan)]
+//~^ ERROR cannot find derive macro `FooWithLongNan` in this scope
//~^^ HELP did you mean `FooWithLongName`?
struct Foo;
#[attr_proc_macra]
//~^ ERROR cannot find attribute macro `attr_proc_macra` in this scope
+//~^^ HELP did you mean `attr_proc_macro`?
struct Bar;
+#[FooWithLongNan]
+//~^ ERROR cannot find attribute macro `FooWithLongNan` in this scope
+struct Asdf;
+
#[derive(Dlone)]
//~^ ERROR cannot find derive macro `Dlone` in this scope
//~^^ HELP did you mean `Clone`?
//~^^ HELP did you mean `Clona`?
struct B;
-fn main() {}
+#[derive(attr_proc_macra)]
+//~^ ERROR cannot find derive macro `attr_proc_macra` in this scope
+struct C;
+
+fn main() {
+ FooWithLongNama!();
+ //~^ ERROR cannot find macro `FooWithLongNama!` in this scope
+ //~^^ HELP did you mean `FooWithLongNam!`?
+
+ attr_proc_macra!();
+ //~^ ERROR cannot find macro `attr_proc_macra!` in this scope
+ //~^^ HELP did you mean `attr_proc_mac!`?
+
+ Dlona!();
+ //~^ ERROR cannot find macro `Dlona!` in this scope
+
+ bang_proc_macrp!();
+ //~^ ERROR cannot find macro `bang_proc_macrp!` in this scope
+ //~^^ HELP did you mean `bang_proc_macro!`?
+}