about summary refs log tree commit diff
path: root/src/test/ui/suggestions/auxiliary/issue-61963-1.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/suggestions/auxiliary/issue-61963-1.rs')
-rw-r--r--src/test/ui/suggestions/auxiliary/issue-61963-1.rs40
1 files changed, 0 insertions, 40 deletions
diff --git a/src/test/ui/suggestions/auxiliary/issue-61963-1.rs b/src/test/ui/suggestions/auxiliary/issue-61963-1.rs
deleted file mode 100644
index 6c2df7e84e0..00000000000
--- a/src/test/ui/suggestions/auxiliary/issue-61963-1.rs
+++ /dev/null
@@ -1,40 +0,0 @@
-// force-host
-// no-prefer-dynamic
-#![crate_type = "proc-macro"]
-
-extern crate proc_macro;
-
-use proc_macro::{Group, TokenStream, TokenTree};
-
-// This macro exists as part of a reproduction of #61963 but without using quote/syn/proc_macro2.
-
-#[proc_macro_derive(DomObject)]
-pub fn expand_token_stream(input: TokenStream) -> TokenStream {
-    // Construct a dummy span - `#0 bytes(0..0)` - which is present in the input because
-    // of the specially crafted generated tokens in the `attribute-crate` proc-macro.
-    let dummy_span = input.clone().into_iter().nth(0).unwrap().span();
-
-    // Define what the macro would output if constructed properly from the source using syn/quote.
-    let output: TokenStream = "impl Bar for ((), Qux<Qux<Baz> >) { }
-    impl Bar for ((), Box<Bar>) { }".parse().unwrap();
-
-    let mut tokens: Vec<_> = output.into_iter().collect();
-    // Adjust token spans to match the original crate (which would use `quote`). Some of the
-    // generated tokens point to the dummy span.
-    for token in tokens.iter_mut() {
-        if let TokenTree::Group(group) = token {
-            let mut tokens: Vec<_> = group.stream().into_iter().collect();
-            for token in tokens.iter_mut().skip(2) {
-                token.set_span(dummy_span);
-            }
-
-            let mut stream = TokenStream::new();
-            stream.extend(tokens);
-            *group = Group::new(group.delimiter(), stream);
-        }
-    }
-
-    let mut output = TokenStream::new();
-    output.extend(tokens);
-    output
-}