mirror of
https://git.proxmox.com/git/rustc
synced 2025-08-24 08:22:25 +00:00
38 lines
832 B
Rust
38 lines
832 B
Rust
#[macro_use]
|
|
mod macros;
|
|
|
|
use std::str::FromStr;
|
|
|
|
use proc_macro2::TokenStream;
|
|
use syn::{Expr, ExprRange};
|
|
|
|
#[test]
|
|
fn test_expr_parse() {
|
|
let code = "..100u32";
|
|
let tt = TokenStream::from_str(code).unwrap();
|
|
let expr: Expr = syn::parse2(tt.clone()).unwrap();
|
|
let expr_range: ExprRange = syn::parse2(tt).unwrap();
|
|
assert_eq!(expr, Expr::Range(expr_range));
|
|
}
|
|
|
|
#[test]
|
|
fn test_await() {
|
|
// Must not parse as Expr::Field.
|
|
let expr = syn::parse_str::<Expr>("fut.await").unwrap();
|
|
|
|
snapshot!(expr, @r###"
|
|
Expr::Await {
|
|
base: Expr::Path {
|
|
path: Path {
|
|
segments: [
|
|
PathSegment {
|
|
ident: "fut",
|
|
arguments: None,
|
|
},
|
|
],
|
|
},
|
|
},
|
|
}
|
|
"###);
|
|
}
|