Move Api::Include handling to pick_includes_and_builtins
diff --git a/gen/src/write.rs b/gen/src/write.rs
index 68b5468..2967594 100644
--- a/gen/src/write.rs
+++ b/gen/src/write.rs
@@ -15,7 +15,7 @@
let mut out_file = OutFile::new(header, opt, types);
let out = &mut out_file;
- pick_includes_and_builtins(out);
+ pick_includes_and_builtins(out, apis);
out.include.extend(&opt.include);
write_forward_declarations(out, apis);
@@ -78,7 +78,6 @@
for api in apis {
match api {
- Api::Include(include) => out.include.insert(include),
Api::Struct(strct) => {
out.next_section();
if !out.types.cxx.contains(&strct.ident.rust) {
@@ -132,7 +131,13 @@
}
}
-fn pick_includes_and_builtins(out: &mut OutFile) {
+fn pick_includes_and_builtins(out: &mut OutFile, apis: &[Api]) {
+ for api in apis {
+ if let Api::Include(include) = api {
+ out.include.insert(include);
+ }
+ }
+
for ty in out.types {
match ty {
Type::Ident(ident) => match Atom::from(&ident.rust) {