diff --git a/crates/cpp/src/lib.rs b/crates/cpp/src/lib.rs index 2d7b30099..0876e32bb 100644 --- a/crates/cpp/src/lib.rs +++ b/crates/cpp/src/lib.rs @@ -486,7 +486,8 @@ impl Cpp { let _ = std::mem::replace(&mut self.includes, store.includes); let _ = std::mem::replace(&mut self.h_src, store.src); let _ = std::mem::replace(&mut self.dependencies, store.dependencies); - self.includes.push(String::from("\"") + &filename + "\""); + self.h_src.change_namespace(&[]); + uwriteln!(self.h_src.src, "#include \"{filename}\""); } } } diff --git a/tests/codegen/issue1658.wit b/tests/codegen/issue1658.wit new file mode 100644 index 000000000..73ba98620 --- /dev/null +++ b/tests/codegen/issue1658.wit @@ -0,0 +1,15 @@ +package foo:bar; + +interface my-interface { + record options { + name: string, + } + + resource my-resource { + constructor(o: options); + } +} + +world my-world { + export my-interface; +}