@@ -141,44 +141,26 @@ impl<'a> Types<'a> {
141
141
// the APIs above, in case some function or struct references a type
142
142
// which is declared subsequently.
143
143
let mut required_trivial_aliases = Set :: new ( ) ;
144
-
145
- fn insist_alias_types_are_trivial < ' c > (
146
- required_trivial_aliases : & mut Set < & ' c Ident > ,
147
- aliases : & Map < & ' c Ident , & ' c TypeAlias > ,
148
- ty : & ' c Type ,
149
- ) {
144
+ let mut insist_alias_types_are_trivial = |ty : & ' a Type | {
150
145
if let Type :: Ident ( ident) = ty {
151
146
if aliases. contains_key ( ident) {
152
147
required_trivial_aliases. insert ( ident) ;
153
148
}
154
149
}
155
- }
156
-
150
+ } ;
157
151
for api in apis {
158
152
match api {
159
153
Api :: Struct ( strct) => {
160
154
for field in & strct. fields {
161
- insist_alias_types_are_trivial (
162
- & mut required_trivial_aliases,
163
- & aliases,
164
- & field. ty ,
165
- ) ;
155
+ insist_alias_types_are_trivial ( & field. ty ) ;
166
156
}
167
157
}
168
158
Api :: CxxFunction ( efn) | Api :: RustFunction ( efn) => {
169
159
for arg in & efn. args {
170
- insist_alias_types_are_trivial (
171
- & mut required_trivial_aliases,
172
- & aliases,
173
- & arg. ty ,
174
- ) ;
160
+ insist_alias_types_are_trivial ( & arg. ty ) ;
175
161
}
176
162
if let Some ( ret) = & efn. ret {
177
- insist_alias_types_are_trivial (
178
- & mut required_trivial_aliases,
179
- & aliases,
180
- & ret,
181
- ) ;
163
+ insist_alias_types_are_trivial ( & ret) ;
182
164
}
183
165
}
184
166
_ => { }
0 commit comments