Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/rust/syn/tests/regression/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 932 B image not shown  

Quelle  issue1235.rs   Sprache: unbekannt

 
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);
}

[ Dauer der Verarbeitung: 0.13 Sekunden  (vorverarbeitet)  ]