summaryrefslogtreecommitdiffstats
path: root/src/test/ui/hygiene/wrap_unhygienic_example.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/hygiene/wrap_unhygienic_example.rs')
-rw-r--r--src/test/ui/hygiene/wrap_unhygienic_example.rs34
1 files changed, 0 insertions, 34 deletions
diff --git a/src/test/ui/hygiene/wrap_unhygienic_example.rs b/src/test/ui/hygiene/wrap_unhygienic_example.rs
deleted file mode 100644
index 50c6b35ab..000000000
--- a/src/test/ui/hygiene/wrap_unhygienic_example.rs
+++ /dev/null
@@ -1,34 +0,0 @@
-// check-pass
-// ignore-pretty pretty-printing is unhygienic
-
-// aux-build:my_crate.rs
-// aux-build:unhygienic_example.rs
-
-#![feature(decl_macro)]
-
-extern crate unhygienic_example;
-extern crate my_crate; // (b)
-
-// Hygienic version of `unhygienic_macro`.
-pub macro hygienic_macro() {
- fn g() {} // (c)
- ::unhygienic_example::unhygienic_macro!();
- // ^ Even though we invoke an unhygienic macro, `hygienic_macro` remains hygienic.
- // In the above expansion:
- // (1) `my_crate` always resolves to (b) regardless of invocation site.
- // (2) The defined function `f` is only usable inside this macro definition.
- // (3) `g` always resolves to (c) regardless of invocation site.
- // (4) `$crate::g` remains hygienic and continues to resolve to (a).
-
- f();
-}
-
-#[allow(unused)]
-fn test_hygienic_macro() {
- hygienic_macro!();
-
- fn f() {} // (d) no conflict
- f(); // resolves to (d)
-}
-
-fn main() {}