File tree Expand file tree Collapse file tree 2 files changed +20
-2
lines changed
Expand file tree Collapse file tree 2 files changed +20
-2
lines changed Original file line number Diff line number Diff line change @@ -9,8 +9,17 @@ fn test_getter_rename() {
99 struct Dummy {
1010 #[ field( offset = 0x00 , getter = "get_field_d" ) ]
1111 field_a : u64 ,
12+
13+ #[ field( 0x08 ) ]
14+ field_b : u64 ,
1215 }
1316
17+ // #[raw_struct(size = 0x08, resolver = "my_dummy_function")]
18+ // struct Dummy2 {
19+ // #[field(0x00)]
20+ // field_my_flag: bool,
21+ // }
22+
1423 let instance = Copy :: < Dummy > :: new ( [ 0x00 ; 0x08 ] ) ;
1524 instance. get_field_d ( ) . unwrap ( ) ;
1625}
Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ use quote::{
88} ;
99use syn:: {
1010 parse:: {
11+ discouraged:: Speculative ,
1112 Parse ,
1213 ParseStream ,
1314 } ,
@@ -52,8 +53,16 @@ struct FieldArgs {
5253
5354impl Parse for FieldArgs {
5455 fn parse ( input : ParseStream ) -> syn:: Result < Self > {
55- let vars: Punctuated < MetaNameValue , syn:: token:: Comma > =
56- Punctuated :: < MetaNameValue , Token ! [ , ] > :: parse_terminated ( input) ?;
56+ let fork = input. fork ( ) ;
57+ let Ok ( vars) = fork. call ( Punctuated :: < MetaNameValue , Token ! [ , ] > :: parse_terminated) else {
58+ /* the input is already the offset value */
59+ return Ok ( Self {
60+ offset : input. parse ( ) ?,
61+ getter : None ,
62+ _setter : None ,
63+ } ) ;
64+ } ;
65+ input. advance_to ( & fork) ;
5766
5867 let mut offset = None ;
5968
You can’t perform that action at this time.
0 commit comments