mirror of
https://github.com/rust-lang/rust.git
synced 2025-06-04 19:29:07 +00:00
26 lines
583 B
Rust
26 lines
583 B
Rust
extern crate proc_macro;
|
|
|
|
use proc_macro::*;
|
|
|
|
#[proc_macro]
|
|
pub fn tokens(input: TokenStream) -> TokenStream {
|
|
assert_nothing_joint(input);
|
|
TokenStream::new()
|
|
}
|
|
|
|
#[proc_macro_attribute]
|
|
pub fn nothing(_: TokenStream, input: TokenStream) -> TokenStream {
|
|
assert_nothing_joint(input);
|
|
TokenStream::new()
|
|
}
|
|
|
|
fn assert_nothing_joint(s: TokenStream) {
|
|
for tt in s {
|
|
match tt {
|
|
TokenTree::Group(g) => assert_nothing_joint(g.stream()),
|
|
TokenTree::Punct(p) => assert_eq!(p.spacing(), Spacing::Alone),
|
|
_ => {}
|
|
}
|
|
}
|
|
}
|