Adrian Taylor
                                            Adrian Taylor
                                        
                                    Next steps here: raise a pull request against `cxx` which adds the ability to override the prefix for `cxx` in its generated code.
Very early work towards cxx change (about 10% finished) https://github.com/adetaylor/cxx/pull/new/cxx-path-prefix
The same problem appears when the test is: ```rust #[test] fn test_issue_1097() { let hdr = indoc! {" #include "}; run_generate_all_test(hdr); } ``` so the minimization is plausible. Somehow the...
The problem reproduces with this alternative change and test case... ``` diff --git a/engine/src/known_types.rs b/engine/src/known_types.rs index 3850db24..9379e2c4 100644 --- a/engine/src/known_types.rs +++ b/engine/src/known_types.rs @@ -413,6 +413,14 @@ fn create_type_database() -> TypeDatabase...
Minimized test case: ```cpp namespace a { namespace spanner { class Key; } } // namespace a namespace spanner { class Key { public: bool b(a::spanner::Key &); }; } //...
This problem is understood. It's because, for functions, we're using a `bridge_name_tracker` to ensure that entries in the (flat) `cxx::bridge` namespace are unique. We're not doing that for typedefs (which...
I'm now thinking that we should "simply" mangle all names in the `cxx::bridge` mod to include namespaces. To avoid conflicts in the `cxx::bridge` output Rust code, we'd need to avoid...
#592 might be a good first step here.
The test case here should be duplicated to cover both virtual and non-virtual functions being callable on derived classes.
Thanks for the report. > I don't see any integration tests which try compiling the generated C++ code I can add Any of the integration tests should try to build...