3
3
// const_fn is used by AsmType
4
4
const_fn, const_panic
5
5
) ]
6
- use duckasm_repr :: field_offset ;
7
- use duckasm_repr :: { AsmRepr , AsmFieldInfo } ;
8
- use duckasm_repr :: types:: { AsmType , FieldDef , StructureDef , UnionDef , UnionFieldDef , TypeId } ;
6
+
7
+ use static_reflect :: { field_offset , StaticReflect , FieldReflect } ;
8
+ use static_reflect :: types:: { TypeInfo , FieldDef , StructureDef , UnionDef , UnionFieldDef , TypeId } ;
9
9
use std:: mem:: { size_of, align_of} ;
10
10
11
- use duckasm_derive :: { AsmRepr } ;
11
+ use static_reflect_derive :: { StaticReflect } ;
12
12
13
- #[ derive( Copy , Clone , Debug , PartialEq , AsmRepr ) ]
13
+ #[ derive( Copy , Clone , Debug , PartialEq , StaticReflect ) ]
14
14
#[ repr( C ) ]
15
15
pub struct Nested {
16
16
cycle : * mut SimpleStruct ,
17
17
float : f64 ,
18
18
number : u64 ,
19
19
}
20
20
21
- #[ derive( AsmRepr ) ]
21
+ #[ derive( StaticReflect ) ]
22
22
#[ repr( C ) ]
23
23
pub struct SimpleStruct {
24
24
// We can have pointers to anything
@@ -38,7 +38,7 @@ fn leak_vec<T>(elements: Vec<T>) -> &'static [T] {
38
38
}
39
39
40
40
#[ repr( C ) ]
41
- #[ derive( AsmRepr ) ]
41
+ #[ derive( StaticReflect ) ]
42
42
union SimpleUnion {
43
43
pub text : * mut String ,
44
44
b : bool ,
@@ -48,34 +48,34 @@ union SimpleUnion {
48
48
49
49
#[ test]
50
50
fn test_union_types ( ) {
51
- const EXPECTED_UNION : AsmType < ' static > = AsmType :: Union ( & UnionDef {
51
+ const EXPECTED_UNION : TypeInfo < ' static > = TypeInfo :: Union ( & UnionDef {
52
52
name : "SimpleUnion" ,
53
53
fields : & [
54
- SimpleUnion :: FIELD_INFO . text . erase ( ) ,
55
- SimpleUnion :: FIELD_INFO . b . erase ( ) ,
56
- SimpleUnion :: FIELD_INFO . f . erase ( ) ,
57
- SimpleUnion :: FIELD_INFO . nested . erase ( ) ,
54
+ SimpleUnion :: NAMED_FIELD_INFO . text . erase ( ) ,
55
+ SimpleUnion :: NAMED_FIELD_INFO . b . erase ( ) ,
56
+ SimpleUnion :: NAMED_FIELD_INFO . f . erase ( ) ,
57
+ SimpleUnion :: NAMED_FIELD_INFO . nested . erase ( ) ,
58
58
] ,
59
59
size : size_of :: < SimpleUnion > ( ) ,
60
60
alignment : align_of :: < SimpleUnion > ( )
61
61
} ) ;
62
- assert_eq ! ( EXPECTED_UNION , SimpleUnion :: STATIC_TYPE ) ;
63
- assert_eq ! ( SimpleUnion :: FIELD_INFO . text, UnionFieldDef {
62
+ assert_eq ! ( EXPECTED_UNION , SimpleUnion :: TYPE_INFO ) ;
63
+ assert_eq ! ( SimpleUnion :: NAMED_FIELD_INFO . text, UnionFieldDef {
64
64
name: "text" ,
65
65
value_type: TypeId :: <* mut String >:: get( ) ,
66
66
index: 0
67
67
} ) ;
68
- assert_eq ! ( SimpleUnion :: FIELD_INFO . b, UnionFieldDef {
68
+ assert_eq ! ( SimpleUnion :: NAMED_FIELD_INFO . b, UnionFieldDef {
69
69
name: "b" ,
70
70
value_type: TypeId :: <bool >:: get( ) ,
71
71
index: 1
72
72
} ) ;
73
- assert_eq ! ( SimpleUnion :: FIELD_INFO . f, UnionFieldDef {
73
+ assert_eq ! ( SimpleUnion :: NAMED_FIELD_INFO . f, UnionFieldDef {
74
74
name: "f" ,
75
75
value_type: TypeId :: <f32 >:: get( ) ,
76
76
index: 2
77
77
} ) ;
78
- assert_eq ! ( SimpleUnion :: FIELD_INFO . nested, UnionFieldDef {
78
+ assert_eq ! ( SimpleUnion :: NAMED_FIELD_INFO . nested, UnionFieldDef {
79
79
name: "nested" ,
80
80
value_type: TypeId :: <Nested >:: get( ) ,
81
81
index: 3
@@ -84,30 +84,30 @@ fn test_union_types() {
84
84
85
85
#[ test]
86
86
fn test_struct_types ( ) {
87
- const NESTED_TYPE : AsmType < ' static > = AsmType :: Structure ( & StructureDef {
87
+ const NESTED_TYPE : TypeInfo < ' static > = TypeInfo :: Structure ( & StructureDef {
88
88
name : "Nested" ,
89
89
fields : & [
90
- Nested :: FIELD_INFO . cycle . erase ( ) ,
91
- Nested :: FIELD_INFO . float . erase ( ) ,
92
- Nested :: FIELD_INFO . number . erase ( ) ,
90
+ Nested :: NAMED_FIELD_INFO . cycle . erase ( ) ,
91
+ Nested :: NAMED_FIELD_INFO . float . erase ( ) ,
92
+ Nested :: NAMED_FIELD_INFO . number . erase ( ) ,
93
93
] ,
94
94
size : size_of :: < Nested > ( ) ,
95
95
alignment : align_of :: < Nested > ( )
96
96
} ) ;
97
- assert_eq ! ( Nested :: STATIC_TYPE , NESTED_TYPE ) ;
98
- assert_eq ! ( Nested :: FIELD_INFO . cycle, FieldDef {
97
+ assert_eq ! ( Nested :: TYPE_INFO , NESTED_TYPE ) ;
98
+ assert_eq ! ( Nested :: NAMED_FIELD_INFO . cycle, FieldDef {
99
99
name: "cycle" ,
100
100
value_type: TypeId :: <* mut SimpleStruct >:: get( ) ,
101
101
offset: field_offset!( Nested , cycle) ,
102
102
index: 0
103
103
} ) ;
104
- assert_eq ! ( Nested :: FIELD_INFO . float, FieldDef {
104
+ assert_eq ! ( Nested :: NAMED_FIELD_INFO . float, FieldDef {
105
105
name: "float" ,
106
106
value_type: TypeId :: <f64 >:: get( ) ,
107
107
offset: field_offset!( Nested , float) ,
108
108
index: 1
109
109
} ) ;
110
- assert_eq ! ( Nested :: FIELD_INFO . number, FieldDef {
110
+ assert_eq ! ( Nested :: NAMED_FIELD_INFO . number, FieldDef {
111
111
name: "number" ,
112
112
value_type: TypeId :: <u64 >:: get( ) ,
113
113
offset: field_offset!( Nested , number) ,
@@ -154,8 +154,8 @@ fn test_struct_types() {
154
154
] ;
155
155
let static_fields = leak_vec ( fields) ;
156
156
assert_eq ! (
157
- SimpleStruct :: STATIC_TYPE ,
158
- AsmType :: Structure ( & StructureDef {
157
+ SimpleStruct :: TYPE_INFO ,
158
+ TypeInfo :: Structure ( & StructureDef {
159
159
name: "SimpleStruct" ,
160
160
fields: static_fields,
161
161
size: size_of:: <SimpleStruct >( ) ,
@@ -164,34 +164,34 @@ fn test_struct_types() {
164
164
) ;
165
165
}
166
166
167
- #[ derive( AsmRepr ) ]
167
+ #[ derive( StaticReflect ) ]
168
168
#[ repr( C ) ]
169
169
struct OpaqueArray {
170
- #[ duckasm ( assume_repr = "i8" ) ]
170
+ #[ reflect ( assume_repr = "i8" ) ]
171
171
first : u8 ,
172
- #[ duckasm ( opaque_array) ]
172
+ #[ static_reflect ( opaque_array) ]
173
173
array : [ * mut String ; 42 ]
174
174
}
175
175
176
176
#[ test]
177
177
fn test_options ( ) {
178
- const OPAQUE_ARRAY_TYPE : AsmType < ' static > = AsmType :: Structure ( & StructureDef {
178
+ const OPAQUE_ARRAY_TYPE : TypeInfo < ' static > = TypeInfo :: Structure ( & StructureDef {
179
179
name : "OpaqueArray" ,
180
180
fields : & [
181
- OpaqueArray :: FIELD_INFO . first . erase ( ) ,
182
- OpaqueArray :: FIELD_INFO . array . erase ( ) ,
181
+ OpaqueArray :: NAMED_FIELD_INFO . first . erase ( ) ,
182
+ OpaqueArray :: NAMED_FIELD_INFO . array . erase ( ) ,
183
183
] ,
184
184
size : size_of :: < OpaqueArray > ( ) ,
185
185
alignment : align_of :: < OpaqueArray > ( )
186
186
} ) ;
187
- assert_eq ! ( OPAQUE_ARRAY_TYPE , OpaqueArray :: STATIC_TYPE ) ;
188
- assert_eq ! ( OpaqueArray :: FIELD_INFO . first, FieldDef {
187
+ assert_eq ! ( OPAQUE_ARRAY_TYPE , OpaqueArray :: TYPE_INFO ) ;
188
+ assert_eq ! ( OpaqueArray :: NAMED_FIELD_INFO . first, FieldDef {
189
189
name: "first" ,
190
190
value_type: TypeId :: <i8 >:: get( ) , // It's actually a 'u8', but we assume_repr
191
191
offset: field_offset!( OpaqueArray , first) ,
192
192
index: 0
193
193
} ) ;
194
- assert_eq ! ( OpaqueArray :: FIELD_INFO . array, FieldDef {
194
+ assert_eq ! ( OpaqueArray :: NAMED_FIELD_INFO . array, FieldDef {
195
195
name: "array" ,
196
196
value_type: TypeId :: <* mut String >:: get( ) ,
197
197
offset: field_offset!( OpaqueArray , array) ,
0 commit comments