]> git.proxmox.com Git - rustc.git/blobdiff - src/test/run-pass-fulldeps/proc-macro/auxiliary/count_compound_ops.rs
New upstream version 1.27.1+dfsg1
[rustc.git] / src / test / run-pass-fulldeps / proc-macro / auxiliary / count_compound_ops.rs
index ec2ff0d1e2b8c81769fd777fa2ff9cfa7d243014..5376d2740452fb1ae053f21a5162340312c5dcfb 100644 (file)
 
 // no-prefer-dynamic
 
-#![feature(proc_macro)]
+#![feature(proc_macro, proc_macro_non_items)]
 #![crate_type = "proc-macro"]
 
 extern crate proc_macro;
 
-use proc_macro::{TokenStream, TokenNode, Spacing, Literal, quote};
+use proc_macro::{TokenStream, TokenTree, Spacing, Literal, quote};
 
 #[proc_macro]
 pub fn count_compound_ops(input: TokenStream) -> TokenStream {
     assert_eq!(count_compound_ops_helper(quote!(++ (&&) 4@a)), 3);
-    TokenNode::Literal(Literal::u32(count_compound_ops_helper(input))).into()
+    let l = Literal::u32_suffixed(count_compound_ops_helper(input));
+    TokenTree::from(l).into()
 }
 
 fn count_compound_ops_helper(input: TokenStream) -> u32 {
     let mut count = 0;
     for token in input {
-        match token.kind {
-            TokenNode::Op(c, Spacing::Alone) => count += 1,
-            TokenNode::Group(_, tokens) => count += count_compound_ops_helper(tokens),
+        match &token {
+            TokenTree::Op(tt) if tt.spacing() == Spacing::Alone => {
+                count += 1;
+            }
+            TokenTree::Group(tt) => {
+                count += count_compound_ops_helper(tt.stream());
+            }
             _ => {}
         }
     }