@@ -489,12 +489,14 @@ mod tests {
489489 struct_value : SomeStruct ,
490490 tuple_struct_value : SomeTupleStruct ,
491491 unit_struct : SomeUnitStruct ,
492- ignored_struct : SomeIgnoredStruct ,
493- ignored_enum : SomeIgnoredEnum ,
494492 unit_enum : SomeEnum ,
495493 newtype_enum : SomeEnum ,
496494 tuple_enum : SomeEnum ,
497495 struct_enum : SomeEnum ,
496+ ignored_struct : SomeIgnoredStruct ,
497+ ignored_tuple_struct : SomeIgnoredTupleStruct ,
498+ ignored_struct_variant : SomeIgnoredEnum ,
499+ ignored_tuple_variant : SomeIgnoredEnum ,
498500 custom_serialize : CustomSerialize ,
499501 }
500502
@@ -510,7 +512,13 @@ mod tests {
510512 struct SomeUnitStruct ;
511513
512514 #[ derive( Reflect , FromReflect , Debug , PartialEq ) ]
513- struct SomeIgnoredStruct ( #[ reflect( ignore) ] i32 ) ;
515+ struct SomeIgnoredStruct {
516+ #[ reflect( ignore) ]
517+ ignored : i32 ,
518+ }
519+
520+ #[ derive( Reflect , FromReflect , Debug , PartialEq ) ]
521+ struct SomeIgnoredTupleStruct ( #[ reflect( ignore) ] i32 ) ;
514522
515523 #[ derive( Reflect , Debug , PartialEq ) ]
516524 enum SomeEnum {
@@ -522,7 +530,11 @@ mod tests {
522530
523531 #[ derive( Reflect , FromReflect , Debug , PartialEq ) ]
524532 enum SomeIgnoredEnum {
525- Ignored ( #[ reflect( ignore) ] f32 , #[ reflect( ignore) ] f32 ) ,
533+ Tuple ( #[ reflect( ignore) ] f32 , #[ reflect( ignore) ] f32 ) ,
534+ Struct {
535+ #[ reflect( ignore) ]
536+ foo : String ,
537+ } ,
526538 }
527539
528540 #[ derive( Reflect , Debug , PartialEq , Serialize ) ]
@@ -548,6 +560,7 @@ mod tests {
548560 registry. register :: < SomeTupleStruct > ( ) ;
549561 registry. register :: < SomeUnitStruct > ( ) ;
550562 registry. register :: < SomeIgnoredStruct > ( ) ;
563+ registry. register :: < SomeIgnoredTupleStruct > ( ) ;
551564 registry. register :: < SomeIgnoredEnum > ( ) ;
552565 registry. register :: < CustomSerialize > ( ) ;
553566 registry. register :: < SomeEnum > ( ) ;
@@ -575,14 +588,18 @@ mod tests {
575588 struct_value : SomeStruct { foo : 999999999 } ,
576589 tuple_struct_value : SomeTupleStruct ( String :: from ( "Tuple Struct" ) ) ,
577590 unit_struct : SomeUnitStruct ,
578- ignored_struct : SomeIgnoredStruct ( 123 ) ,
579- ignored_enum : SomeIgnoredEnum :: Ignored ( 1.23 , 3.45 ) ,
580591 unit_enum : SomeEnum :: Unit ,
581592 newtype_enum : SomeEnum :: NewType ( 123 ) ,
582593 tuple_enum : SomeEnum :: Tuple ( 1.23 , 3.21 ) ,
583594 struct_enum : SomeEnum :: Struct {
584595 foo : String :: from ( "Struct variant value" ) ,
585596 } ,
597+ ignored_struct : SomeIgnoredStruct { ignored : 123 } ,
598+ ignored_tuple_struct : SomeIgnoredTupleStruct ( 123 ) ,
599+ ignored_struct_variant : SomeIgnoredEnum :: Struct {
600+ foo : String :: from ( "Struct Variant" ) ,
601+ } ,
602+ ignored_tuple_variant : SomeIgnoredEnum :: Tuple ( 1.23 , 3.45 ) ,
586603 custom_serialize : CustomSerialize {
587604 value : 100 ,
588605 inner_struct : SomeSerializableStruct { foo : 101 } ,
@@ -621,14 +638,16 @@ mod tests {
621638 ),
622639 tuple_struct_value: ("Tuple Struct"),
623640 unit_struct: (),
624- ignored_struct: (),
625- ignored_enum: Ignored(),
626641 unit_enum: Unit,
627642 newtype_enum: NewType(123),
628643 tuple_enum: Tuple(1.23, 3.21),
629644 struct_enum: Struct(
630645 foo: "Struct variant value",
631646 ),
647+ ignored_struct: (),
648+ ignored_tuple_struct: (),
649+ ignored_struct_variant: Struct(),
650+ ignored_tuple_variant: Tuple(),
632651 custom_serialize: (
633652 value: 100,
634653 renamed: (
@@ -769,14 +788,18 @@ mod tests {
769788 struct_value : SomeStruct { foo : 999999999 } ,
770789 tuple_struct_value : SomeTupleStruct ( String :: from ( "Tuple Struct" ) ) ,
771790 unit_struct : SomeUnitStruct ,
772- ignored_struct : SomeIgnoredStruct ( 123 ) ,
773- ignored_enum : SomeIgnoredEnum :: Ignored ( 1.23 , 3.45 ) ,
774791 unit_enum : SomeEnum :: Unit ,
775792 newtype_enum : SomeEnum :: NewType ( 123 ) ,
776793 tuple_enum : SomeEnum :: Tuple ( 1.23 , 3.21 ) ,
777794 struct_enum : SomeEnum :: Struct {
778795 foo : String :: from ( "Struct variant value" ) ,
779796 } ,
797+ ignored_struct : SomeIgnoredStruct { ignored : 123 } ,
798+ ignored_tuple_struct : SomeIgnoredTupleStruct ( 123 ) ,
799+ ignored_struct_variant : SomeIgnoredEnum :: Struct {
800+ foo : String :: from ( "Struct Variant" ) ,
801+ } ,
802+ ignored_tuple_variant : SomeIgnoredEnum :: Tuple ( 1.23 , 3.45 ) ,
780803 custom_serialize : CustomSerialize {
781804 value : 100 ,
782805 inner_struct : SomeSerializableStruct { foo : 101 } ,
@@ -797,10 +820,11 @@ mod tests {
797820 255 , 255 , 255 , 255 , 255 , 255 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 2 , 0 , 0 , 0 , 254 , 255 , 255 , 255 ,
798821 255 , 255 , 255 , 255 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 2 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 64 , 32 ,
799822 0 , 0 , 0 , 0 , 0 , 0 , 0 , 255 , 201 , 154 , 59 , 0 , 0 , 0 , 0 , 12 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 84 , 117 ,
800- 112 , 108 , 101 , 32 , 83 , 116 , 114 , 117 , 99 , 116 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 123 ,
801- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 0 , 0 , 0 , 164 , 112 , 157 , 63 , 164 , 112 , 77 , 64 , 3 , 0 , 0 , 0 , 20 ,
802- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 83 , 116 , 114 , 117 , 99 , 116 , 32 , 118 , 97 , 114 , 105 , 97 , 110 , 116 ,
803- 32 , 118 , 97 , 108 , 117 , 101 , 100 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 101 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
823+ 112 , 108 , 101 , 32 , 83 , 116 , 114 , 117 , 99 , 116 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ,
824+ 0 , 0 , 0 , 123 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 0 , 0 , 0 , 164 , 112 , 157 , 63 , 164 , 112 , 77 , 64 , 3 ,
825+ 0 , 0 , 0 , 20 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 83 , 116 , 114 , 117 , 99 , 116 , 32 , 118 , 97 , 114 , 105 ,
826+ 97 , 110 , 116 , 32 , 118 , 97 , 108 , 117 , 101 , 100 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 101 , 0 , 0 , 0 , 0 , 0 ,
827+ 0 , 0 ,
804828 ] ;
805829
806830 assert_eq ! ( expected, bytes) ;
@@ -822,14 +846,18 @@ mod tests {
822846 struct_value : SomeStruct { foo : 999999999 } ,
823847 tuple_struct_value : SomeTupleStruct ( String :: from ( "Tuple Struct" ) ) ,
824848 unit_struct : SomeUnitStruct ,
825- ignored_struct : SomeIgnoredStruct ( 123 ) ,
826- ignored_enum : SomeIgnoredEnum :: Ignored ( 1.23 , 3.45 ) ,
827849 unit_enum : SomeEnum :: Unit ,
828850 newtype_enum : SomeEnum :: NewType ( 123 ) ,
829851 tuple_enum : SomeEnum :: Tuple ( 1.23 , 3.21 ) ,
830852 struct_enum : SomeEnum :: Struct {
831853 foo : String :: from ( "Struct variant value" ) ,
832854 } ,
855+ ignored_struct : SomeIgnoredStruct { ignored : 123 } ,
856+ ignored_tuple_struct : SomeIgnoredTupleStruct ( 123 ) ,
857+ ignored_struct_variant : SomeIgnoredEnum :: Struct {
858+ foo : String :: from ( "Struct Variant" ) ,
859+ } ,
860+ ignored_tuple_variant : SomeIgnoredEnum :: Tuple ( 1.23 , 3.45 ) ,
833861 custom_serialize : CustomSerialize {
834862 value : 100 ,
835863 inner_struct : SomeSerializableStruct { foo : 101 } ,
@@ -844,15 +872,15 @@ mod tests {
844872 let expected: Vec < u8 > = vec ! [
845873 129 , 217 , 41 , 98 , 101 , 118 , 121 , 95 , 114 , 101 , 102 , 108 , 101 , 99 , 116 , 58 , 58 , 115 ,
846874 101 , 114 , 100 , 101 , 58 , 58 , 115 , 101 , 114 , 58 , 58 , 116 , 101 , 115 , 116 , 115 , 58 , 58 , 77 ,
847- 121 , 83 , 116 , 114 , 117 , 99 , 116 , 220 , 0 , 17 , 123 , 172 , 72 , 101 , 108 , 108 , 111 , 32 , 119 ,
875+ 121 , 83 , 116 , 114 , 117 , 99 , 116 , 220 , 0 , 19 , 123 , 172 , 72 , 101 , 108 , 108 , 111 , 32 , 119 ,
848876 111 , 114 , 108 , 100 , 33 , 145 , 123 , 146 , 202 , 64 , 73 , 15 , 219 , 205 , 5 , 57 , 149 , 254 , 255 ,
849877 0 , 1 , 2 , 149 , 254 , 255 , 0 , 1 , 2 , 129 , 64 , 32 , 145 , 206 , 59 , 154 , 201 , 255 , 145 , 172 ,
850- 84 , 117 , 112 , 108 , 101 , 32 , 83 , 116 , 114 , 117 , 99 , 116 , 144 , 144 , 129 , 167 , 73 , 103 ,
851- 110 , 111 , 114 , 101 , 100 , 144 , 164 , 85 , 110 , 105 , 116 , 129 , 167 , 78 , 101 , 119 , 84 , 121 ,
852- 112 , 101 , 123 , 129 , 165 , 84 , 117 , 112 , 108 , 101 , 146 , 202 , 63 , 157 , 112 , 164 , 202 , 64 ,
853- 77 , 112 , 164 , 129 , 166 , 83 , 116 , 114 , 117 , 99 , 116 , 145 , 180 , 83 , 116 , 114 , 117 , 99 ,
854- 116 , 32 , 118 , 97 , 114 , 105 , 97 , 110 , 116 , 32 , 118 , 97 , 108 , 117 , 101 , 146 , 100 , 145 ,
855- 101 ,
878+ 84 , 117 , 112 , 108 , 101 , 32 , 83 , 116 , 114 , 117 , 99 , 116 , 144 , 144 , 144 , 129 , 166 , 83 ,
879+ 116 , 114 , 117 , 99 , 116 , 144 , 129 , 165 , 84 , 117 , 112 , 108 , 101 , 144 , 164 , 85 , 110 , 105 ,
880+ 116 , 129 , 167 , 78 , 101 , 119 , 84 , 121 , 112 , 101 , 123 , 129 , 165 , 84 , 117 , 112 , 108 , 101 ,
881+ 146 , 202 , 63 , 157 , 112 , 164 , 202 , 64 , 77 , 112 , 164 , 129 , 166 , 83 , 116 , 114 , 117 , 99 ,
882+ 116 , 145 , 180 , 83 , 116 , 114 , 117 , 99 , 116 , 32 , 118 , 97 , 114 , 105 , 97 , 110 , 116 , 32 ,
883+ 118 , 97 , 108 , 117 , 101 , 146 , 100 , 145 , 101 ,
856884 ] ;
857885
858886 assert_eq ! ( expected, bytes) ;
0 commit comments