summaryrefslogtreecommitdiffstats
path: root/src/test/ui/hygiene/auxiliary/opaque-hygiene.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/hygiene/auxiliary/opaque-hygiene.rs')
-rw-r--r--src/test/ui/hygiene/auxiliary/opaque-hygiene.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/ui/hygiene/auxiliary/opaque-hygiene.rs b/src/test/ui/hygiene/auxiliary/opaque-hygiene.rs
new file mode 100644
index 000000000..7730f91bd
--- /dev/null
+++ b/src/test/ui/hygiene/auxiliary/opaque-hygiene.rs
@@ -0,0 +1,21 @@
+// force-host
+// no-prefer-dynamic
+
+#![feature(proc_macro_quote)]
+#![crate_type = "proc-macro"]
+
+extern crate proc_macro;
+use proc_macro::{TokenStream, quote};
+
+#[proc_macro]
+pub fn make_it(input: TokenStream) -> TokenStream {
+ // `quote!` applies def-site hygiene
+ quote! {
+ trait Foo {
+ fn my_fn(&self) {}
+ }
+
+ impl<T> Foo for T {}
+ "a".my_fn();
+ }
+}