diff options
Diffstat (limited to 'tests/ui/specialization/specialization-overlap-hygiene.rs')
-rw-r--r-- | tests/ui/specialization/specialization-overlap-hygiene.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/ui/specialization/specialization-overlap-hygiene.rs b/tests/ui/specialization/specialization-overlap-hygiene.rs new file mode 100644 index 000000000..93e7c8325 --- /dev/null +++ b/tests/ui/specialization/specialization-overlap-hygiene.rs @@ -0,0 +1,23 @@ +#![feature(decl_macro)] + +struct X; + +macro_rules! define_f_legacy { () => { + fn f() {} +}} +macro define_g_modern() { + fn g() {} +} + +impl X { + fn f() {} //~ ERROR duplicate definitions with name `f` + fn g() {} // OK +} +impl X { + define_f_legacy!(); +} +impl X { + define_g_modern!(); +} + +fn main() {} |