Sha256: a2266b10c3f7c7af5734817ab0a3e8b309b51e7d177b63f26e67e6b744d280b0
Contents?: true
Size: 932 Bytes
Versions: 53
Compression:
Stored size: 932 Bytes
Contents
use proc_macro2::{Delimiter, Group}; use quote::quote; #[test] fn main() { // Okay. Rustc allows top-level `static` with no value syntactically, but // not semantically. Syn parses as Item::Verbatim. let tokens = quote! { pub static FOO: usize; pub static BAR: usize; }; let file = syn::parse2::<syn::File>(tokens).unwrap(); println!("{:#?}", file); // Okay. let inner = Group::new( Delimiter::None, quote!(static FOO: usize = 0; pub static BAR: usize = 0), ); let tokens = quote!(pub #inner;); let file = syn::parse2::<syn::File>(tokens).unwrap(); println!("{:#?}", file); // Formerly parser crash. let inner = Group::new( Delimiter::None, quote!(static FOO: usize; pub static BAR: usize), ); let tokens = quote!(pub #inner;); let file = syn::parse2::<syn::File>(tokens).unwrap(); println!("{:#?}", file); }
Version data entries
53 entries across 39 versions & 1 rubygems