File { shebang: None, attrs: [], items: [ Use( ItemUse { attrs: [], vis: Inherited, use_token: Use, leading_colon: None, tree: Path( UsePath { ident: Ident( std, ), colon2_token: Colon2, tree: Path( UsePath { ident: Ident( fs, ), colon2_token: Colon2, tree: Group( UseGroup { brace_token: Brace, items: [ Name( UseName { ident: Ident( self, ), }, ), Comma, Rename( UseRename { ident: Ident( File, ), as_token: As, rename: Ident( SyncFile, ), }, ), ], }, ), }, ), }, ), semi_token: Semi, }, ), Use( ItemUse { attrs: [], vis: Inherited, use_token: Use, leading_colon: None, tree: Path( UsePath { ident: Ident( std, ), colon2_token: Colon2, tree: Path( UsePath { ident: Ident( sync, ), colon2_token: Colon2, tree: Group( UseGroup { brace_token: Brace, items: [ Name( UseName { ident: Ident( Arc, ), }, ), Comma, Path( UsePath { ident: Ident( atomic, ), colon2_token: Colon2, tree: Group( UseGroup { brace_token: Brace, items: [ Name( UseName { ident: Ident( AtomicBool, ), }, ), Comma, Name( UseName { ident: Ident( Ordering, ), }, ), ], }, ), }, ), ], }, ), }, ), }, ), semi_token: Semi, }, ), Use( ItemUse { attrs: [], vis: Inherited, use_token: Use, leading_colon: None, tree: Path( UsePath { ident: Ident( std, ), colon2_token: Colon2, tree: Path( UsePath { ident: Ident( collections, ), colon2_token: Colon2, tree: Name( UseName { ident: Ident( HashMap, ), }, ), }, ), }, ), semi_token: Semi, }, ), Use( ItemUse { attrs: [], vis: Inherited, use_token: Use, leading_colon: None, tree: Path( UsePath { ident: Ident( parking_log, ), colon2_token: Colon2, tree: Group( UseGroup { brace_token: Brace, items: [ Name( UseName { ident: Ident( Mutex, ), }, ), Comma, Name( UseName { ident: Ident( RwLock, ), }, ), ], }, ), }, ), semi_token: Semi, }, ), Const( ItemConst { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 布尔值\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), const_token: Const, ident: Ident( BOOL, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( bool, ), arguments: None, }, ], }, }, ), eq_token: Eq, expr: Lit( ExprLit { attrs: [], lit: Bool( LitBool { value: true, }, ), }, ), semi_token: Semi, }, ), Const( ItemConst { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 32位无符号整数\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), const_token: Const, ident: Ident( UINT, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( u32, ), arguments: None, }, ], }, }, ), eq_token: Eq, expr: Lit( ExprLit { attrs: [], lit: Int( LitInt { token: 0xffffffff, }, ), }, ), semi_token: Semi, }, ), Const( ItemConst { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 32位有符号整数\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), const_token: Const, ident: Ident( INT, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( i32, ), arguments: None, }, ], }, }, ), eq_token: Eq, expr: Unary( ExprUnary { attrs: [], op: Neg( Sub, ), expr: Lit( ExprLit { attrs: [], lit: Int( LitInt { token: 999_999_999, }, ), }, ), }, ), semi_token: Semi, }, ), Const( ItemConst { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 二进制\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), const_token: Const, ident: Ident( BINARY, ), colon_token: Colon, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), mutability: None, elem: Slice( TypeSlice { bracket_token: Bracket, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( u8, ), arguments: None, }, ], }, }, ), }, ), }, ), eq_token: Eq, expr: Lit( ExprLit { attrs: [], lit: ByteStr( LitByteStr { token: b"undefined", }, ), }, ), semi_token: Semi, }, ), Const( ItemConst { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 浮点数\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), const_token: Const, ident: Ident( FLOAT, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( float, ), arguments: None, }, ], }, }, ), eq_token: Eq, expr: Lit( ExprLit { attrs: [], lit: Float( LitFloat { token: 1e-9, }, ), }, ), semi_token: Semi, }, ), Const( ItemConst { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 字符串\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), const_token: Const, ident: Ident( STRING, ), colon_token: Colon, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( str, ), arguments: None, }, ], }, }, ), }, ), eq_token: Eq, expr: Lit( ExprLit { attrs: [], lit: Str( LitStr { token: r#".\tests\test.rs"#, }, ), }, ), semi_token: Semi, }, ), Fn( ItemFn { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 发送消息\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), sig: Signature { constness: Some( Const, ), asyncness: None, unsafety: None, abi: None, fn_token: Fn, ident: Ident( send, ), generics: Generics { lt_token: None, params: [], gt_token: None, where_clause: None, }, paren_token: Paren, inputs: [ Typed( PatType { attrs: [], pat: Wild( PatWild { attrs: [], underscore_token: Underscore, }, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( bool, ), arguments: None, }, ], }, }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Wild( PatWild { attrs: [], underscore_token: Underscore, }, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( usize, ), arguments: None, }, ], }, }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Wild( PatWild { attrs: [], underscore_token: Underscore, }, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( String, ), arguments: None, }, ], }, }, ), }, ), ], variadic: None, output: Type( RArrow, Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Result, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Arc, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Vec, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( u8, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), Comma, Type( Reference( TypeReference { and_token: And, lifetime: None, mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( str, ), arguments: None, }, ], }, }, ), }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), }, block: Block { brace_token: Brace, stmts: [ Expr( Call( ExprCall { attrs: [], func: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Ok, ), arguments: None, }, ], }, }, ), paren_token: Paren, args: [ Call( ExprCall { attrs: [], func: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Arc, ), arguments: None, }, Colon2, PathSegment { ident: Ident( new, ), arguments: None, }, ], }, }, ), paren_token: Paren, args: [ Call( ExprCall { attrs: [], func: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Vec, ), arguments: None, }, Colon2, PathSegment { ident: Ident( new, ), arguments: None, }, ], }, }, ), paren_token: Paren, args: [], }, ), ], }, ), ], }, ), ), ], }, }, ), Fn( ItemFn { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 获取数据\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [ Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: X, }, Punct { op: '=', spacing: Alone, }, Ident { sym: type, }, Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: bool, }, Punct { op: ',', spacing: Alone, }, Ident { sym: usize, }, Punct { op: ',', spacing: Alone, }, Ident { sym: String, }, ], }, Punct { op: ',', spacing: Alone, }, Ident { sym: Y, }, Punct { op: '=', spacing: Alone, }, Ident { sym: type, }, Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: bool, }, Punct { op: ',', spacing: Alone, }, Ident { sym: usize, }, Punct { op: ',', spacing: Alone, }, Ident { sym: String, }, ], }, Punct { op: ',', spacing: Alone, }, Ident { sym: Z, }, Punct { op: '=', spacing: Alone, }, Ident { sym: type, }, Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: bool, }, Punct { op: ',', spacing: Alone, }, Ident { sym: usize, }, Punct { op: ',', spacing: Alone, }, Ident { sym: String, }, ], }, ], }, ], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), sig: Signature { constness: None, asyncness: None, unsafety: None, abi: None, fn_token: Fn, ident: Ident( get_data, ), generics: Generics { lt_token: Some( Lt, ), params: [ Type( TypeParam { attrs: [], ident: Ident( X, ), colon_token: None, bounds: [], eq_token: None, default: None, }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( Y, ), colon_token: None, bounds: [], eq_token: None, default: None, }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( Z, ), colon_token: None, bounds: [], eq_token: None, default: None, }, ), ], gt_token: Some( Gt, ), where_clause: None, }, paren_token: Paren, inputs: [ Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( x, ), subpat: None, }, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( y, ), subpat: None, }, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( _z, ), subpat: None, }, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Z, ), arguments: None, }, ], }, }, ), }, ), ], variadic: None, output: Type( RArrow, Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Result, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Box, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Slice( TypeSlice { bracket_token: Bracket, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( u8, ), arguments: None, }, ], }, }, ), }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), Comma, Type( Reference( TypeReference { and_token: And, lifetime: None, mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( str, ), arguments: None, }, ], }, }, ), }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), }, block: Block { brace_token: Brace, stmts: [ Expr( Call( ExprCall { attrs: [], func: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Arc, ), arguments: None, }, Colon2, PathSegment { ident: Ident( from, ), arguments: None, }, ], }, }, ), paren_token: Paren, args: [ Macro( ExprMacro { attrs: [], mac: Macro { path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( vec, ), arguments: None, }, ], }, bang_token: Bang, delimiter: Bracket( Bracket, ), tokens: TokenStream [], }, }, ), ], }, ), ), ], }, }, ), Fn( ItemFn { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 通知\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [ Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: X, }, Punct { op: '=', spacing: Alone, }, Ident { sym: type, }, Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: bool, }, Punct { op: ',', spacing: Alone, }, Ident { sym: usize, }, Punct { op: ',', spacing: Alone, }, Ident { sym: String, }, ], }, Punct { op: ',', spacing: Alone, }, Ident { sym: Y, }, Punct { op: '=', spacing: Alone, }, Ident { sym: type, }, Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: bool, }, Punct { op: ',', spacing: Alone, }, Ident { sym: usize, }, Punct { op: ',', spacing: Alone, }, Ident { sym: String, }, ], }, Punct { op: ',', spacing: Alone, }, Ident { sym: Z, }, Punct { op: '=', spacing: Alone, }, Ident { sym: type, }, Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: bool, }, Punct { op: ',', spacing: Alone, }, Ident { sym: usize, }, Punct { op: ',', spacing: Alone, }, Ident { sym: String, }, ], }, ], }, ], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), sig: Signature { constness: None, asyncness: Some( Async, ), unsafety: None, abi: None, fn_token: Fn, ident: Ident( notify, ), generics: Generics { lt_token: Some( Lt, ), params: [ Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( a, ), }, colon_token: None, bounds: [], }, ), Comma, Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( b, ), }, colon_token: None, bounds: [], }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( X, ), colon_token: None, bounds: [], eq_token: None, default: None, }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( Y, ), colon_token: None, bounds: [], eq_token: None, default: None, }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( Z, ), colon_token: None, bounds: [], eq_token: None, default: None, }, ), ], gt_token: Some( Gt, ), where_clause: Some( WhereClause { where_token: Where, predicates: [ Type( PredicateType { lifetimes: None, bounded_ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), colon_token: Colon, bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Default, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], }, ), Comma, Type( PredicateType { lifetimes: None, bounded_ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, }, ), colon_token: Colon, bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Default, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], }, ), ], }, ), }, paren_token: Paren, inputs: [ Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( x, ), subpat: None, }, ), colon_token: Colon, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( y, ), subpat: None, }, ), colon_token: Colon, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( b, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, }, ), }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( _z, ), subpat: None, }, ), colon_token: Colon, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Z, ), arguments: None, }, ], }, }, ), }, ), }, ), ], variadic: None, output: Type( RArrow, Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Option, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestStruct, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Lifetime( Lifetime { apostrophe: Span, ident: Ident( b, ), }, ), Comma, Lifetime( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), }, block: Block { brace_token: Brace, stmts: [ Expr( Call( ExprCall { attrs: [], func: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Some, ), arguments: None, }, ], }, }, ), paren_token: Paren, args: [ Call( ExprCall { attrs: [], func: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestStruct, ), arguments: None, }, Colon2, PathSegment { ident: Ident( new, ), arguments: None, }, ], }, }, ), paren_token: Paren, args: [ Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( x, ), arguments: None, }, ], }, }, ), Comma, Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( y, ), arguments: None, }, ], }, }, ), Comma, Call( ExprCall { attrs: [], func: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, Colon2, PathSegment { ident: Ident( default, ), arguments: None, }, ], }, }, ), paren_token: Paren, args: [], }, ), Comma, Call( ExprCall { attrs: [], func: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Vec, ), arguments: None, }, Colon2, PathSegment { ident: Ident( new, ), arguments: None, }, ], }, }, ), paren_token: Paren, args: [], }, ), ], }, ), ], }, ), ), ], }, }, ), Impl( ItemImpl { attrs: [], defaultness: None, unsafety: None, impl_token: Impl, generics: Generics { lt_token: Some( Lt, ), params: [ Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( b, ), }, colon_token: None, bounds: [], }, ), Comma, Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( a, ), }, colon_token: Some( Colon, ), bounds: [ Lifetime { apostrophe: Span, ident: Ident( b, ), }, ], }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( T, ), colon_token: Some( Colon, ), bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], eq_token: None, default: None, }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( B, ), colon_token: Some( Colon, ), bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], eq_token: None, default: None, }, ), ], gt_token: Some( Gt, ), where_clause: None, }, trait_: Some( ( None, Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Drop, ), arguments: None, }, ], }, For, ), ), self_ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestStruct, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Lifetime( Lifetime { apostrophe: Span, ident: Ident( b, ), }, ), Comma, Lifetime( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( T, ), arguments: None, }, ], }, }, ), ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( B, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), brace_token: Brace, items: [ Method( ImplItemMethod { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 释放测试用结构体\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [], }, ], vis: Inherited, defaultness: None, sig: Signature { constness: None, asyncness: None, unsafety: None, abi: None, fn_token: Fn, ident: Ident( drop, ), generics: Generics { lt_token: None, params: [], gt_token: None, where_clause: None, }, paren_token: Paren, inputs: [ Receiver( Receiver { attrs: [], reference: Some( ( And, None, ), ), mutability: Some( Mut, ), self_token: SelfValue, }, ), ], variadic: None, output: Default, }, block: Block { brace_token: Brace, stmts: [], }, }, ), ], }, ), Impl( ItemImpl { attrs: [], defaultness: None, unsafety: None, impl_token: Impl, generics: Generics { lt_token: Some( Lt, ), params: [ Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( b, ), }, colon_token: None, bounds: [], }, ), Comma, Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( a, ), }, colon_token: Some( Colon, ), bounds: [ Lifetime { apostrophe: Span, ident: Ident( b, ), }, ], }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( T, ), colon_token: Some( Colon, ), bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], eq_token: None, default: None, }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( B, ), colon_token: Some( Colon, ), bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], eq_token: None, default: None, }, ), ], gt_token: Some( Gt, ), where_clause: None, }, trait_: None, self_ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestStruct, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Lifetime( Lifetime { apostrophe: Span, ident: Ident( b, ), }, ), Comma, Lifetime( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( T, ), arguments: None, }, ], }, }, ), ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( B, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), brace_token: Brace, items: [ Method( ImplItemMethod { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 构建测试用结构体\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), defaultness: None, sig: Signature { constness: None, asyncness: None, unsafety: None, abi: None, fn_token: Fn, ident: Ident( new, ), generics: Generics { lt_token: None, params: [], gt_token: None, where_clause: None, }, paren_token: Paren, inputs: [ Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( x, ), subpat: None, }, ), colon_token: Colon, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( T, ), arguments: None, }, ], }, }, ), }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( y, ), subpat: None, }, ), colon_token: Colon, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( b, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( T, ), arguments: None, }, ], }, }, ), }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( z, ), subpat: None, }, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( T, ), arguments: None, }, ], }, }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( vec, ), subpat: None, }, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Vec, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( B, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), }, ), ], variadic: None, output: Type( RArrow, Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Self, ), arguments: None, }, ], }, }, ), ), }, block: Block { brace_token: Brace, stmts: [ Expr( Struct( ExprStruct { attrs: [], path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestStruct, ), arguments: None, }, ], }, brace_token: Brace, fields: [ FieldValue { attrs: [], member: Named( Ident( x, ), ), colon_token: None, expr: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( x, ), arguments: None, }, ], }, }, ), }, Comma, FieldValue { attrs: [], member: Named( Ident( y, ), ), colon_token: None, expr: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( y, ), arguments: None, }, ], }, }, ), }, Comma, FieldValue { attrs: [], member: Named( Ident( z, ), ), colon_token: None, expr: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( z, ), arguments: None, }, ], }, }, ), }, Comma, FieldValue { attrs: [], member: Named( Ident( vec, ), ), colon_token: None, expr: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( vec, ), arguments: None, }, ], }, }, ), }, Comma, ], dot2_token: None, rest: None, }, ), ), ], }, }, ), Method( ImplItemMethod { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 获取x的只读引用\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), defaultness: None, sig: Signature { constness: None, asyncness: None, unsafety: None, abi: None, fn_token: Fn, ident: Ident( get_x, ), generics: Generics { lt_token: None, params: [], gt_token: None, where_clause: None, }, paren_token: Paren, inputs: [ Receiver( Receiver { attrs: [], reference: Some( ( And, None, ), ), mutability: None, self_token: SelfValue, }, ), ], variadic: None, output: Type( RArrow, Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( T, ), arguments: None, }, ], }, }, ), }, ), ), }, block: Block { brace_token: Brace, stmts: [ Expr( Field( ExprField { attrs: [], base: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( self, ), arguments: None, }, ], }, }, ), dot_token: Dot, member: Named( Ident( x, ), ), }, ), ), ], }, }, ), Method( ImplItemMethod { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 设置x的只读引用\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), defaultness: None, sig: Signature { constness: None, asyncness: None, unsafety: None, abi: None, fn_token: Fn, ident: Ident( set_x, ), generics: Generics { lt_token: None, params: [], gt_token: None, where_clause: None, }, paren_token: Paren, inputs: [ Receiver( Receiver { attrs: [], reference: Some( ( And, None, ), ), mutability: Some( Mut, ), self_token: SelfValue, }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( x, ), subpat: None, }, ), colon_token: Colon, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( T, ), arguments: None, }, ], }, }, ), }, ), }, ), ], variadic: None, output: Default, }, block: Block { brace_token: Brace, stmts: [ Semi( Assign( ExprAssign { attrs: [], left: Field( ExprField { attrs: [], base: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( self, ), arguments: None, }, ], }, }, ), dot_token: Dot, member: Named( Ident( x, ), ), }, ), eq_token: Eq, right: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( x, ), arguments: None, }, ], }, }, ), }, ), Semi, ), ], }, }, ), Method( ImplItemMethod { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 获取指定类型的值\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), defaultness: None, sig: Signature { constness: None, asyncness: None, unsafety: None, abi: None, fn_token: Fn, ident: Ident( get, ), generics: Generics { lt_token: Some( Lt, ), params: [ Type( TypeParam { attrs: [], ident: Ident( X, ), colon_token: Some( Colon, ), bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Clone, ), arguments: None, }, ], }, }, ), ], eq_token: None, default: None, }, ), ], gt_token: Some( Gt, ), where_clause: None, }, paren_token: Paren, inputs: [], variadic: None, output: Type( RArrow, Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Option, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), }, block: Block { brace_token: Brace, stmts: [ Expr( Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( None, ), arguments: None, }, ], }, }, ), ), ], }, }, ), Method( ImplItemMethod { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 设置指定类型的值\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [ Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: X, }, Punct { op: '=', spacing: Alone, }, Ident { sym: type, }, Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: bool, }, Punct { op: ',', spacing: Alone, }, Ident { sym: usize, }, Punct { op: ',', spacing: Alone, }, Ident { sym: String, }, ], }, ], }, ], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), defaultness: None, sig: Signature { constness: None, asyncness: None, unsafety: None, abi: None, fn_token: Fn, ident: Ident( set, ), generics: Generics { lt_token: Some( Lt, ), params: [ Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( a, ), }, colon_token: None, bounds: [], }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( X, ), colon_token: Some( Colon, ), bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Clone, ), arguments: None, }, ], }, }, ), ], eq_token: None, default: None, }, ), ], gt_token: Some( Gt, ), where_clause: None, }, paren_token: Paren, inputs: [ Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( x, ), subpat: None, }, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), }, ), ], variadic: None, output: Type( RArrow, Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Option, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), }, block: Block { brace_token: Brace, stmts: [ Expr( Call( ExprCall { attrs: [], func: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Some, ), arguments: None, }, ], }, }, ), paren_token: Paren, args: [ Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( x, ), arguments: None, }, ], }, }, ), ], }, ), ), ], }, }, ), Method( ImplItemMethod { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 刷新指定类型的值\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [ Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: X, }, Punct { op: '=', spacing: Alone, }, Ident { sym: type, }, Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: bool, }, Punct { op: ',', spacing: Alone, }, Ident { sym: usize, }, Punct { op: ',', spacing: Alone, }, Ident { sym: String, }, ], }, Punct { op: ',', spacing: Alone, }, Ident { sym: Y, }, Punct { op: '=', spacing: Alone, }, Ident { sym: type, }, Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: bool, }, Punct { op: ',', spacing: Alone, }, Ident { sym: usize, }, Punct { op: ',', spacing: Alone, }, Ident { sym: String, }, ], }, ], }, ], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), defaultness: None, sig: Signature { constness: None, asyncness: None, unsafety: None, abi: None, fn_token: Fn, ident: Ident( flush, ), generics: Generics { lt_token: Some( Lt, ), params: [ Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( a, ), }, colon_token: None, bounds: [], }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( X, ), colon_token: None, bounds: [], eq_token: None, default: None, }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( Y, ), colon_token: None, bounds: [], eq_token: None, default: None, }, ), ], gt_token: Some( Gt, ), where_clause: Some( WhereClause { where_token: Where, predicates: [ Type( PredicateType { lifetimes: None, bounded_ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), colon_token: Colon, bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Clone, ), arguments: None, }, ], }, }, ), ], }, ), Comma, Type( PredicateType { lifetimes: None, bounded_ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, }, ), colon_token: Colon, bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Clone, ), arguments: None, }, ], }, }, ), ], }, ), ], }, ), }, paren_token: Paren, inputs: [ Receiver( Receiver { attrs: [], reference: None, mutability: Some( Mut, ), self_token: SelfValue, }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( x, ), subpat: None, }, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( y, ), subpat: None, }, ), colon_token: Colon, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( z, ), subpat: None, }, ), colon_token: Colon, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: Some( Mut, ), elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, }, ), }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( _c, ), subpat: None, }, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Vec, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Wild( PatWild { attrs: [], underscore_token: Underscore, }, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( HashMap, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), }, ), ], variadic: None, output: Type( RArrow, Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Result, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: Some( Mut, ), elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, }, ), }, ), ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( String, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), }, block: Block { brace_token: Brace, stmts: [ Expr( Call( ExprCall { attrs: [], func: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Ok, ), arguments: None, }, ], }, }, ), paren_token: Paren, args: [], }, ), ), ], }, }, ), ], }, ), Struct( ItemStruct { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 测试用结构体\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [ Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: T, }, Punct { op: '=', spacing: Alone, }, Ident { sym: type, }, Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: bool, }, Punct { op: ',', spacing: Alone, }, Ident { sym: usize, }, Punct { op: ',', spacing: Alone, }, Ident { sym: String, }, ], }, Punct { op: ',', spacing: Alone, }, Ident { sym: B, }, Punct { op: '=', spacing: Alone, }, Ident { sym: type, }, Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: u8, }, ], }, ], }, ], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), struct_token: Struct, ident: Ident( TestStruct, ), generics: Generics { lt_token: Some( Lt, ), params: [ Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( b, ), }, colon_token: None, bounds: [], }, ), Comma, Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( a, ), }, colon_token: Some( Colon, ), bounds: [ Lifetime { apostrophe: Span, ident: Ident( b, ), }, ], }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( T, ), colon_token: Some( Colon, ), bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Clone, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], eq_token: None, default: None, }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( B, ), colon_token: Some( Colon, ), bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Clone, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], eq_token: None, default: None, }, ), ], gt_token: Some( Gt, ), where_clause: None, }, fields: Named( FieldsNamed { brace_token: Brace, named: [ Field { attrs: [], vis: Inherited, ident: Some( Ident( x, ), ), colon_token: Some( Colon, ), ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( T, ), arguments: None, }, ], }, }, ), }, ), }, Comma, Field { attrs: [], vis: Inherited, ident: Some( Ident( y, ), ), colon_token: Some( Colon, ), ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( b, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( T, ), arguments: None, }, ], }, }, ), }, ), }, Comma, Field { attrs: [], vis: Inherited, ident: Some( Ident( z, ), ), colon_token: Some( Colon, ), ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( T, ), arguments: None, }, ], }, }, ), }, Comma, Field { attrs: [], vis: Inherited, ident: Some( Ident( vec, ), ), colon_token: Some( Colon, ), ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Vec, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( B, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), }, Comma, ], }, ), semi_token: None, }, ), Impl( ItemImpl { attrs: [], defaultness: None, unsafety: None, impl_token: Impl, generics: Generics { lt_token: Some( Lt, ), params: [ Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( b, ), }, colon_token: None, bounds: [], }, ), Comma, Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( a, ), }, colon_token: Some( Colon, ), bounds: [ Lifetime { apostrophe: Span, ident: Ident( b, ), }, ], }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( T, ), colon_token: Some( Colon, ), bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], eq_token: None, default: None, }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( B, ), colon_token: Some( Colon, ), bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], eq_token: None, default: None, }, ), ], gt_token: Some( Gt, ), where_clause: None, }, trait_: Some( ( None, Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Clone, ), arguments: None, }, ], }, For, ), ), self_ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestStruct, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Lifetime( Lifetime { apostrophe: Span, ident: Ident( b, ), }, ), Comma, Lifetime( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( T, ), arguments: None, }, ], }, }, ), ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( B, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), brace_token: Brace, items: [ Method( ImplItemMethod { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 复制测试用结构体\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [], }, ], vis: Inherited, defaultness: None, sig: Signature { constness: None, asyncness: None, unsafety: None, abi: None, fn_token: Fn, ident: Ident( clone, ), generics: Generics { lt_token: None, params: [], gt_token: None, where_clause: None, }, paren_token: Paren, inputs: [ Receiver( Receiver { attrs: [], reference: Some( ( And, None, ), ), mutability: None, self_token: SelfValue, }, ), ], variadic: None, output: Type( RArrow, Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Self, ), arguments: None, }, ], }, }, ), ), }, block: Block { brace_token: Brace, stmts: [ Expr( Struct( ExprStruct { attrs: [], path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestStruct, ), arguments: None, }, ], }, brace_token: Brace, fields: [ FieldValue { attrs: [], member: Named( Ident( x, ), ), colon_token: Some( Colon, ), expr: MethodCall( ExprMethodCall { attrs: [], receiver: Field( ExprField { attrs: [], base: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( self, ), arguments: None, }, ], }, }, ), dot_token: Dot, member: Named( Ident( x, ), ), }, ), dot_token: Dot, method: Ident( clone, ), turbofish: None, paren_token: Paren, args: [], }, ), }, Comma, FieldValue { attrs: [], member: Named( Ident( y, ), ), colon_token: Some( Colon, ), expr: MethodCall( ExprMethodCall { attrs: [], receiver: Field( ExprField { attrs: [], base: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( self, ), arguments: None, }, ], }, }, ), dot_token: Dot, member: Named( Ident( y, ), ), }, ), dot_token: Dot, method: Ident( clone, ), turbofish: None, paren_token: Paren, args: [], }, ), }, Comma, FieldValue { attrs: [], member: Named( Ident( z, ), ), colon_token: Some( Colon, ), expr: MethodCall( ExprMethodCall { attrs: [], receiver: Field( ExprField { attrs: [], base: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( self, ), arguments: None, }, ], }, }, ), dot_token: Dot, member: Named( Ident( z, ), ), }, ), dot_token: Dot, method: Ident( clone, ), turbofish: None, paren_token: Paren, args: [], }, ), }, Comma, FieldValue { attrs: [], member: Named( Ident( vec, ), ), colon_token: Some( Colon, ), expr: MethodCall( ExprMethodCall { attrs: [], receiver: Field( ExprField { attrs: [], base: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( self, ), arguments: None, }, ], }, }, ), dot_token: Dot, member: Named( Ident( vec, ), ), }, ), dot_token: Dot, method: Ident( clone, ), turbofish: None, paren_token: Paren, args: [], }, ), }, Comma, ], dot2_token: None, rest: None, }, ), ), ], }, }, ), ], }, ), Impl( ItemImpl { attrs: [], defaultness: None, unsafety: None, impl_token: Impl, generics: Generics { lt_token: Some( Lt, ), params: [ Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( b, ), }, colon_token: None, bounds: [], }, ), Comma, Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( a, ), }, colon_token: Some( Colon, ), bounds: [ Lifetime { apostrophe: Span, ident: Ident( b, ), }, ], }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( T, ), colon_token: Some( Colon, ), bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], eq_token: None, default: None, }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( B, ), colon_token: Some( Colon, ), bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], eq_token: None, default: None, }, ), ], gt_token: Some( Gt, ), where_clause: None, }, trait_: None, self_ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestStruct, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Lifetime( Lifetime { apostrophe: Span, ident: Ident( b, ), }, ), Comma, Lifetime( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( T, ), arguments: None, }, ], }, }, ), ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( B, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), brace_token: Brace, items: [ Const( ImplItemConst { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 布尔值\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), defaultness: None, const_token: Const, ident: Ident( BOOL1, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( bool, ), arguments: None, }, ], }, }, ), eq_token: Eq, expr: Lit( ExprLit { attrs: [], lit: Bool( LitBool { value: true, }, ), }, ), semi_token: Semi, }, ), Const( ImplItemConst { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 32位无符号整数\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), defaultness: None, const_token: Const, ident: Ident( UINT1, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( u32, ), arguments: None, }, ], }, }, ), eq_token: Eq, expr: Lit( ExprLit { attrs: [], lit: Int( LitInt { token: 0xffffffff, }, ), }, ), semi_token: Semi, }, ), Const( ImplItemConst { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 32位有符号整数\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), defaultness: None, const_token: Const, ident: Ident( INT1, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( i32, ), arguments: None, }, ], }, }, ), eq_token: Eq, expr: Unary( ExprUnary { attrs: [], op: Neg( Sub, ), expr: Lit( ExprLit { attrs: [], lit: Int( LitInt { token: 999_999_999, }, ), }, ), }, ), semi_token: Semi, }, ), Const( ImplItemConst { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 二进制\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), defaultness: None, const_token: Const, ident: Ident( BINARY1, ), colon_token: Colon, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), mutability: None, elem: Slice( TypeSlice { bracket_token: Bracket, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( u8, ), arguments: None, }, ], }, }, ), }, ), }, ), eq_token: Eq, expr: Lit( ExprLit { attrs: [], lit: ByteStr( LitByteStr { token: b"undefined", }, ), }, ), semi_token: Semi, }, ), Const( ImplItemConst { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 浮点数\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), defaultness: None, const_token: Const, ident: Ident( FLOAT1, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( float, ), arguments: None, }, ], }, }, ), eq_token: Eq, expr: Lit( ExprLit { attrs: [], lit: Float( LitFloat { token: 1.1231658798, }, ), }, ), semi_token: Semi, }, ), Const( ImplItemConst { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 字符串\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), defaultness: None, const_token: Const, ident: Ident( STRING1, ), colon_token: Colon, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( str, ), arguments: None, }, ], }, }, ), }, ), eq_token: Eq, expr: Lit( ExprLit { attrs: [], lit: Str( LitStr { token: r#".\tests\test.rs"#, }, ), }, ), semi_token: Semi, }, ), Method( ImplItemMethod { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 同步指定类型的值\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [ Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: X, }, Punct { op: '=', spacing: Alone, }, Ident { sym: type, }, Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: bool, }, Punct { op: ',', spacing: Alone, }, Ident { sym: usize, }, Punct { op: ',', spacing: Alone, }, Ident { sym: String, }, ], }, Punct { op: ',', spacing: Alone, }, Ident { sym: Y, }, Punct { op: '=', spacing: Alone, }, Ident { sym: type, }, Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: bool, }, Punct { op: ',', spacing: Alone, }, Ident { sym: usize, }, Punct { op: ',', spacing: Alone, }, Ident { sym: String, }, ], }, ], }, ], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), defaultness: None, sig: Signature { constness: None, asyncness: Some( Async, ), unsafety: None, abi: None, fn_token: Fn, ident: Ident( sync, ), generics: Generics { lt_token: Some( Lt, ), params: [ Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( a, ), }, colon_token: None, bounds: [], }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( X, ), colon_token: None, bounds: [], eq_token: None, default: None, }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( Y, ), colon_token: None, bounds: [], eq_token: None, default: None, }, ), ], gt_token: Some( Gt, ), where_clause: Some( WhereClause { where_token: Where, predicates: [ Type( PredicateType { lifetimes: None, bounded_ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), colon_token: Colon, bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Clone, ), arguments: None, }, ], }, }, ), ], }, ), Comma, Type( PredicateType { lifetimes: None, bounded_ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, }, ), colon_token: Colon, bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Clone, ), arguments: None, }, ], }, }, ), ], }, ), ], }, ), }, paren_token: Paren, inputs: [ Receiver( Receiver { attrs: [], reference: None, mutability: Some( Mut, ), self_token: SelfValue, }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( x, ), subpat: None, }, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( y, ), subpat: None, }, ), colon_token: Colon, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( z, ), subpat: None, }, ), colon_token: Colon, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: Some( Mut, ), elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, }, ), }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( _c, ), subpat: None, }, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Vec, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Vec, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( _r, ), subpat: None, }, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( HashMap, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Vec, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), }, ), ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Vec, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, }, ), }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), }, ), ], variadic: None, output: Type( RArrow, Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Result, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( HashMap, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Vec, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), }, ), ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Vec, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, }, ), }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( String, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), }, block: Block { brace_token: Brace, stmts: [ Expr( Call( ExprCall { attrs: [], func: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Ok, ), arguments: None, }, ], }, }, ), paren_token: Paren, args: [ Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( _r, ), arguments: None, }, ], }, }, ), ], }, ), ), ], }, }, ), ], }, ), Impl( ItemImpl { attrs: [], defaultness: None, unsafety: None, impl_token: Impl, generics: Generics { lt_token: Some( Lt, ), params: [ Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( b, ), }, colon_token: None, bounds: [], }, ), Comma, Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( a, ), }, colon_token: Some( Colon, ), bounds: [ Lifetime { apostrophe: Span, ident: Ident( b, ), }, ], }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( T, ), colon_token: Some( Colon, ), bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], eq_token: None, default: None, }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( B, ), colon_token: Some( Colon, ), bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], eq_token: None, default: None, }, ), ], gt_token: Some( Gt, ), where_clause: None, }, trait_: Some( ( None, Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Drop, ), arguments: None, }, ], }, For, ), ), self_ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestEnum, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Lifetime( Lifetime { apostrophe: Span, ident: Ident( b, ), }, ), Comma, Lifetime( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( T, ), arguments: None, }, ], }, }, ), ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( B, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), brace_token: Brace, items: [ Method( ImplItemMethod { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 释放测试用枚举\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [], }, ], vis: Inherited, defaultness: None, sig: Signature { constness: None, asyncness: None, unsafety: None, abi: None, fn_token: Fn, ident: Ident( drop, ), generics: Generics { lt_token: None, params: [], gt_token: None, where_clause: None, }, paren_token: Paren, inputs: [ Receiver( Receiver { attrs: [], reference: Some( ( And, None, ), ), mutability: Some( Mut, ), self_token: SelfValue, }, ), ], variadic: None, output: Default, }, block: Block { brace_token: Brace, stmts: [], }, }, ), ], }, ), Impl( ItemImpl { attrs: [], defaultness: None, unsafety: None, impl_token: Impl, generics: Generics { lt_token: Some( Lt, ), params: [ Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( b, ), }, colon_token: None, bounds: [], }, ), Comma, Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( a, ), }, colon_token: Some( Colon, ), bounds: [ Lifetime { apostrophe: Span, ident: Ident( b, ), }, ], }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( T, ), colon_token: Some( Colon, ), bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], eq_token: None, default: None, }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( B, ), colon_token: Some( Colon, ), bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], eq_token: None, default: None, }, ), ], gt_token: Some( Gt, ), where_clause: None, }, trait_: Some( ( None, Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Clone, ), arguments: None, }, ], }, For, ), ), self_ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestEnum, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Lifetime( Lifetime { apostrophe: Span, ident: Ident( b, ), }, ), Comma, Lifetime( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( T, ), arguments: None, }, ], }, }, ), ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( B, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), brace_token: Brace, items: [ Method( ImplItemMethod { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 复制测试用枚举\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [], }, ], vis: Inherited, defaultness: None, sig: Signature { constness: None, asyncness: None, unsafety: None, abi: None, fn_token: Fn, ident: Ident( clone, ), generics: Generics { lt_token: None, params: [], gt_token: None, where_clause: None, }, paren_token: Paren, inputs: [ Receiver( Receiver { attrs: [], reference: Some( ( And, None, ), ), mutability: None, self_token: SelfValue, }, ), ], variadic: None, output: Type( RArrow, Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Self, ), arguments: None, }, ], }, }, ), ), }, block: Block { brace_token: Brace, stmts: [ Expr( Match( ExprMatch { attrs: [], match_token: Match, expr: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( self, ), arguments: None, }, ], }, }, ), brace_token: Brace, arms: [ Arm { attrs: [], pat: Path( PatPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestEnum, ), arguments: None, }, Colon2, PathSegment { ident: Ident( None, ), arguments: None, }, ], }, }, ), guard: None, fat_arrow_token: FatArrow, body: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestEnum, ), arguments: None, }, Colon2, PathSegment { ident: Ident( None, ), arguments: None, }, ], }, }, ), comma: Some( Comma, ), }, Arm { attrs: [], pat: TupleStruct( PatTupleStruct { attrs: [], path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestEnum, ), arguments: None, }, Colon2, PathSegment { ident: Ident( X, ), arguments: None, }, ], }, pat: PatTuple { attrs: [], paren_token: Paren, elems: [ Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( x, ), subpat: None, }, ), ], }, }, ), guard: None, fat_arrow_token: FatArrow, body: Call( ExprCall { attrs: [], func: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestEnum, ), arguments: None, }, Colon2, PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), paren_token: Paren, args: [ MethodCall( ExprMethodCall { attrs: [], receiver: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( x, ), arguments: None, }, ], }, }, ), dot_token: Dot, method: Ident( clone, ), turbofish: None, paren_token: Paren, args: [], }, ), ], }, ), comma: Some( Comma, ), }, Arm { attrs: [], pat: TupleStruct( PatTupleStruct { attrs: [], path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestEnum, ), arguments: None, }, Colon2, PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, pat: PatTuple { attrs: [], paren_token: Paren, elems: [ Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( y, ), subpat: None, }, ), ], }, }, ), guard: None, fat_arrow_token: FatArrow, body: Call( ExprCall { attrs: [], func: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestEnum, ), arguments: None, }, Colon2, PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, }, ), paren_token: Paren, args: [ MethodCall( ExprMethodCall { attrs: [], receiver: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( y, ), arguments: None, }, ], }, }, ), dot_token: Dot, method: Ident( clone, ), turbofish: None, paren_token: Paren, args: [], }, ), ], }, ), comma: Some( Comma, ), }, Arm { attrs: [], pat: TupleStruct( PatTupleStruct { attrs: [], path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestEnum, ), arguments: None, }, Colon2, PathSegment { ident: Ident( Z, ), arguments: None, }, ], }, pat: PatTuple { attrs: [], paren_token: Paren, elems: [ Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( z, ), subpat: None, }, ), ], }, }, ), guard: None, fat_arrow_token: FatArrow, body: Call( ExprCall { attrs: [], func: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestEnum, ), arguments: None, }, Colon2, PathSegment { ident: Ident( Z, ), arguments: None, }, ], }, }, ), paren_token: Paren, args: [ MethodCall( ExprMethodCall { attrs: [], receiver: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( z, ), arguments: None, }, ], }, }, ), dot_token: Dot, method: Ident( clone, ), turbofish: None, paren_token: Paren, args: [], }, ), ], }, ), comma: Some( Comma, ), }, Arm { attrs: [], pat: TupleStruct( PatTupleStruct { attrs: [], path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestEnum, ), arguments: None, }, Colon2, PathSegment { ident: Ident( Vec, ), arguments: None, }, ], }, pat: PatTuple { attrs: [], paren_token: Paren, elems: [ Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( vec, ), subpat: None, }, ), ], }, }, ), guard: None, fat_arrow_token: FatArrow, body: Call( ExprCall { attrs: [], func: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestEnum, ), arguments: None, }, Colon2, PathSegment { ident: Ident( Vec, ), arguments: None, }, ], }, }, ), paren_token: Paren, args: [ MethodCall( ExprMethodCall { attrs: [], receiver: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( vec, ), arguments: None, }, ], }, }, ), dot_token: Dot, method: Ident( clone, ), turbofish: None, paren_token: Paren, args: [], }, ), ], }, ), comma: Some( Comma, ), }, ], }, ), ), ], }, }, ), ], }, ), Enum( ItemEnum { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 测试用枚举\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [ Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: T, }, Punct { op: '=', spacing: Alone, }, Ident { sym: type, }, Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: bool, }, Punct { op: ',', spacing: Alone, }, Ident { sym: usize, }, Punct { op: ',', spacing: Alone, }, Ident { sym: String, }, ], }, Punct { op: ',', spacing: Alone, }, Ident { sym: B, }, Punct { op: '=', spacing: Alone, }, Ident { sym: type, }, Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: u8, }, ], }, ], }, ], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), enum_token: Enum, ident: Ident( TestEnum, ), generics: Generics { lt_token: Some( Lt, ), params: [ Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( b, ), }, colon_token: None, bounds: [], }, ), Comma, Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( a, ), }, colon_token: Some( Colon, ), bounds: [ Lifetime { apostrophe: Span, ident: Ident( b, ), }, ], }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( T, ), colon_token: Some( Colon, ), bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Clone, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], eq_token: None, default: None, }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( B, ), colon_token: Some( Colon, ), bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Clone, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], eq_token: None, default: None, }, ), ], gt_token: Some( Gt, ), where_clause: None, }, brace_token: Brace, variants: [ Variant { attrs: [], ident: Ident( None, ), fields: Unit, discriminant: None, }, Comma, Variant { attrs: [], ident: Ident( X, ), fields: Unnamed( FieldsUnnamed { paren_token: Paren, unnamed: [ Field { attrs: [], vis: Inherited, ident: None, colon_token: None, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( T, ), arguments: None, }, ], }, }, ), }, ), }, ], }, ), discriminant: None, }, Comma, Variant { attrs: [], ident: Ident( Y, ), fields: Unnamed( FieldsUnnamed { paren_token: Paren, unnamed: [ Field { attrs: [], vis: Inherited, ident: None, colon_token: None, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( b, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( T, ), arguments: None, }, ], }, }, ), }, ), }, ], }, ), discriminant: None, }, Comma, Variant { attrs: [], ident: Ident( Z, ), fields: Unnamed( FieldsUnnamed { paren_token: Paren, unnamed: [ Field { attrs: [], vis: Inherited, ident: None, colon_token: None, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( T, ), arguments: None, }, ], }, }, ), }, ], }, ), discriminant: None, }, Comma, Variant { attrs: [], ident: Ident( Vec, ), fields: Unnamed( FieldsUnnamed { paren_token: Paren, unnamed: [ Field { attrs: [], vis: Inherited, ident: None, colon_token: None, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Vec, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( B, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), }, ], }, ), discriminant: None, }, Comma, ], }, ), Impl( ItemImpl { attrs: [], defaultness: None, unsafety: None, impl_token: Impl, generics: Generics { lt_token: Some( Lt, ), params: [ Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( b, ), }, colon_token: None, bounds: [], }, ), Comma, Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( a, ), }, colon_token: Some( Colon, ), bounds: [ Lifetime { apostrophe: Span, ident: Ident( b, ), }, ], }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( T, ), colon_token: Some( Colon, ), bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], eq_token: None, default: None, }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( B, ), colon_token: Some( Colon, ), bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], eq_token: None, default: None, }, ), ], gt_token: Some( Gt, ), where_clause: None, }, trait_: None, self_ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestEnum, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Lifetime( Lifetime { apostrophe: Span, ident: Ident( b, ), }, ), Comma, Lifetime( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( T, ), arguments: None, }, ], }, }, ), ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( B, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), brace_token: Brace, items: [ Method( ImplItemMethod { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 同步指定类型的值\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( pi_js_export, ), arguments: None, }, ], }, tokens: TokenStream [ Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: X, }, Punct { op: '=', spacing: Alone, }, Ident { sym: type, }, Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: bool, }, Punct { op: ',', spacing: Alone, }, Ident { sym: usize, }, Punct { op: ',', spacing: Alone, }, Ident { sym: String, }, ], }, Punct { op: ',', spacing: Alone, }, Ident { sym: Y, }, Punct { op: '=', spacing: Alone, }, Ident { sym: type, }, Group { delimiter: Parenthesis, stream: TokenStream [ Ident { sym: bool, }, Punct { op: ',', spacing: Alone, }, Ident { sym: usize, }, Punct { op: ',', spacing: Alone, }, Ident { sym: String, }, ], }, ], }, ], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), defaultness: None, sig: Signature { constness: None, asyncness: Some( Async, ), unsafety: None, abi: None, fn_token: Fn, ident: Ident( sync, ), generics: Generics { lt_token: Some( Lt, ), params: [ Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( a, ), }, colon_token: None, bounds: [], }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( X, ), colon_token: None, bounds: [], eq_token: None, default: None, }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( Y, ), colon_token: None, bounds: [], eq_token: None, default: None, }, ), ], gt_token: Some( Gt, ), where_clause: Some( WhereClause { where_token: Where, predicates: [ Type( PredicateType { lifetimes: None, bounded_ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), colon_token: Colon, bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Clone, ), arguments: None, }, ], }, }, ), ], }, ), Comma, Type( PredicateType { lifetimes: None, bounded_ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, }, ), colon_token: Colon, bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Clone, ), arguments: None, }, ], }, }, ), ], }, ), ], }, ), }, paren_token: Paren, inputs: [ Receiver( Receiver { attrs: [], reference: None, mutability: Some( Mut, ), self_token: SelfValue, }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( x, ), subpat: None, }, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( y, ), subpat: None, }, ), colon_token: Colon, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( z, ), subpat: None, }, ), colon_token: Colon, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: Some( Mut, ), elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, }, ), }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( _c, ), subpat: None, }, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Vec, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Vec, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( _r, ), subpat: None, }, ), colon_token: Colon, ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( HashMap, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Vec, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), }, ), ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Vec, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, }, ), }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), }, ), ], variadic: None, output: Type( RArrow, Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Result, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( HashMap, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Vec, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), }, ), ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Vec, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, }, ), }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( String, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), }, block: Block { brace_token: Brace, stmts: [ Expr( Call( ExprCall { attrs: [], func: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Ok, ), arguments: None, }, ], }, }, ), paren_token: Paren, args: [ Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( _r, ), arguments: None, }, ], }, }, ), ], }, ), ), ], }, }, ), ], }, ), Fn( ItemFn { attrs: [ Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: " 测试\r", }, ], }, Attribute { pound_token: Pound, style: Outer, bracket_token: Bracket, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( doc, ), arguments: None, }, ], }, tokens: TokenStream [ Punct { op: '=', spacing: Alone, }, Literal { lit: "\r", }, ], }, ], vis: Public( VisPublic { pub_token: Pub, }, ), sig: Signature { constness: None, asyncness: None, unsafety: None, abi: None, fn_token: Fn, ident: Ident( test, ), generics: Generics { lt_token: Some( Lt, ), params: [ Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( a, ), }, colon_token: None, bounds: [], }, ), Comma, Lifetime( LifetimeDef { attrs: [], lifetime: Lifetime { apostrophe: Span, ident: Ident( b, ), }, colon_token: None, bounds: [], }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( X, ), colon_token: None, bounds: [], eq_token: None, default: None, }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( Y, ), colon_token: None, bounds: [], eq_token: None, default: None, }, ), Comma, Type( TypeParam { attrs: [], ident: Ident( Z, ), colon_token: None, bounds: [], eq_token: None, default: None, }, ), ], gt_token: Some( Gt, ), where_clause: Some( WhereClause { where_token: Where, predicates: [ Type( PredicateType { lifetimes: None, bounded_ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), colon_token: Colon, bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Default, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], }, ), Comma, Type( PredicateType { lifetimes: None, bounded_ty: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, }, ), colon_token: Colon, bounds: [ Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Default, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Send, ), arguments: None, }, ], }, }, ), Add, Trait( TraitBound { paren_token: None, modifier: None, lifetimes: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Sync, ), arguments: None, }, ], }, }, ), Add, Lifetime( Lifetime { apostrophe: Span, ident: Ident( static, ), }, ), ], }, ), ], }, ), }, paren_token: Paren, inputs: [ Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( x, ), subpat: None, }, ), colon_token: Colon, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( y, ), subpat: None, }, ), colon_token: Colon, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( b, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, }, ), }, ), }, ), Comma, Typed( PatType { attrs: [], pat: Ident( PatIdent { attrs: [], by_ref: None, mutability: None, ident: Ident( _z, ), subpat: None, }, ), colon_token: Colon, ty: Reference( TypeReference { and_token: And, lifetime: Some( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), mutability: None, elem: Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Z, ), arguments: None, }, ], }, }, ), }, ), }, ), ], variadic: None, output: Type( RArrow, Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Option, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestStruct, ), arguments: AngleBracketed( AngleBracketedGenericArguments { colon2_token: None, lt_token: Lt, args: [ Lifetime( Lifetime { apostrophe: Span, ident: Ident( b, ), }, ), Comma, Lifetime( Lifetime { apostrophe: Span, ident: Ident( a, ), }, ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, ], }, }, ), ), Comma, Type( Path( TypePath { qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Y, ), arguments: None, }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), ], gt_token: Gt, }, ), }, ], }, }, ), ), }, block: Block { brace_token: Brace, stmts: [ Expr( Call( ExprCall { attrs: [], func: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Some, ), arguments: None, }, ], }, }, ), paren_token: Paren, args: [ Call( ExprCall { attrs: [], func: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( TestStruct, ), arguments: None, }, Colon2, PathSegment { ident: Ident( new, ), arguments: None, }, ], }, }, ), paren_token: Paren, args: [ Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( x, ), arguments: None, }, ], }, }, ), Comma, Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( y, ), arguments: None, }, ], }, }, ), Comma, Call( ExprCall { attrs: [], func: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( X, ), arguments: None, }, Colon2, PathSegment { ident: Ident( default, ), arguments: None, }, ], }, }, ), paren_token: Paren, args: [], }, ), Comma, Call( ExprCall { attrs: [], func: Path( ExprPath { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident( Vec, ), arguments: None, }, Colon2, PathSegment { ident: Ident( new, ), arguments: None, }, ], }, }, ), paren_token: Paren, args: [], }, ), ], }, ), ], }, ), ), ], }, }, ), ], }