2 clippy
::assertions_on_result_states
,
3 clippy
::non_ascii_literal
,
4 clippy
::uninlined_format_args
10 use proc_macro2
::{Delimiter, Group, Ident, Span, TokenStream, TokenTree}
;
15 fn test_raw_operator() {
16 let stmt
= syn
::parse_str
::<Stmt
>("let _ = &raw const x;").unwrap();
18 snapshot
!(stmt
, @r
###"
21 init: Some(LocalInit {
22 expr: Expr::Verbatim(`& raw const x`),
29 fn test_raw_variable() {
30 let stmt
= syn
::parse_str
::<Stmt
>("let _ = &raw;").unwrap();
32 snapshot
!(stmt
, @r
###"
35 init: Some(LocalInit {
36 expr: Expr::Reference {
53 fn test_raw_invalid() {
54 assert
!(syn
::parse_str
::<Stmt
>("let _ = &raw x;").is_err());
58 fn test_none_group() {
59 // <Ø async fn f() {} Ø>
60 let tokens
= TokenStream
::from_iter(vec
![TokenTree
::Group(Group
::new(
62 TokenStream
::from_iter(vec
![
63 TokenTree
::Ident(Ident
::new("async", Span
::call_site())),
64 TokenTree
::Ident(Ident
::new("fn", Span
::call_site())),
65 TokenTree
::Ident(Ident
::new("f", Span
::call_site())),
66 TokenTree
::Group(Group
::new(Delimiter
::Parenthesis
, TokenStream
::new())),
67 TokenTree
::Group(Group
::new(Delimiter
::Brace
, TokenStream
::new())),
71 snapshot
!(tokens
as Stmt
, @r
###"
73 vis: Visibility::Inherited,
78 output: ReturnType::Default,
86 fn test_let_dot_dot() {
91 snapshot
!(tokens
as Stmt
, @r
###"
94 init: Some(LocalInit {
105 let tokens
= quote
! {
106 let Some(x
) = None
else { return 0; }
;
109 snapshot
!(tokens
as Stmt
, @r
###"
111 pat: Pat::TupleStruct {
125 init: Some(LocalInit {
135 diverge: Some(Expr::Block {
140 expr: Some(Expr::Lit {
156 let tokens
= quote
! {
159 thread_local
! { static FOO }
165 snapshot
!(tokens
as Stmt
, @r
###"
166 Stmt::Item(Item::Fn {
167 vis: Visibility::Inherited,
171 output: ReturnType::Default,
175 Stmt::Item(Item::Macro {
181 ident: "macro_rules",
185 delimiter: MacroDelimiter::Brace,
186 tokens: TokenStream(``),
194 ident: "thread_local",
198 delimiter: MacroDelimiter::Brace,
199 tokens: TokenStream(`static FOO`),
211 delimiter: MacroDelimiter::Paren,
212 tokens: TokenStream(`""`),
226 delimiter: MacroDelimiter::Bracket,
227 tokens: TokenStream(``),