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

Version Path
wasmtime-30.0.2 ./ext/cargo-vendor/syn-2.0.98/tests/regression/issue1235.rs
wasmtime-29.0.0 ./ext/cargo-vendor/syn-2.0.96/tests/regression/issue1235.rs
wasmtime-28.0.0 ./ext/cargo-vendor/syn-2.0.95/tests/regression/issue1235.rs
wasmtime-27.0.0 ./ext/cargo-vendor/syn-2.0.89/tests/regression/issue1235.rs
wasmtime-26.0.0 ./ext/cargo-vendor/syn-2.0.85/tests/regression/issue1235.rs
wasmtime-25.0.2 ./ext/cargo-vendor/syn-2.0.75/tests/regression/issue1235.rs
wasmtime-25.0.1 ./ext/cargo-vendor/syn-2.0.75/tests/regression/issue1235.rs
wasmtime-25.0.0 ./ext/cargo-vendor/syn-2.0.75/tests/regression/issue1235.rs
wasmtime-24.0.0 ./ext/cargo-vendor/syn-2.0.75/tests/regression/issue1235.rs
wasmtime-23.0.2 ./ext/cargo-vendor/syn-2.0.48/tests/regression/issue1235.rs
wasmtime-22.0.0 ./ext/cargo-vendor/syn-2.0.48/tests/regression/issue1235.rs
wasmtime-21.0.1 ./ext/cargo-vendor/syn-2.0.48/tests/regression/issue1235.rs
wasmtime-20.0.2 ./ext/cargo-vendor/syn-2.0.48/tests/regression/issue1235.rs
wasmtime-20.0.0 ./ext/cargo-vendor/syn-2.0.48/tests/regression/issue1235.rs
wasmtime-18.0.3 ./ext/cargo-vendor/syn-2.0.48/tests/regression/issue1235.rs
wasmtime-17.0.1 ./ext/cargo-vendor/syn-2.0.48/tests/regression/issue1235.rs
wasmtime-17.0.0 ./ext/cargo-vendor/syn-2.0.48/tests/regression/issue1235.rs
wasmtime-16.0.0 ./ext/cargo-vendor/syn-2.0.48/tests/regression/issue1235.rs
wasmtime-15.0.1 ./ext/cargo-vendor/syn-2.0.48/tests/regression/issue1235.rs
wasmtime-15.0.0 ./ext/cargo-vendor/syn-2.0.48/tests/regression/issue1235.rs