David Snopek
David Snopek
This is a long-standing issue. I attempted to look into it awhile back, and what I recall finding (which may be incorrect due to my poor memory :-)) was that...
So, is the issue that you have forward declared `Foo`, and it crashes unless you include the header with full definition?
I'm not sure if I understand this issue correctly, but if this is about how using a release build of a GDExtension with a debug build of Godot can lead...
> But the root problem I had was the opposite case where I was using a debug version of a GDExtension with release Godot. That also causes the same memory...
I've just changed the boolean fields to start with `is_*` to match similarly named fields in `extension_api.json` (based on @Bromeon's suggest [here](https://github.com/godotengine/godot/issues/113732#issuecomment-3627345955))
I agree with your assessment that `[native_extensions]` isn't needed. I don't know why it's there - it's probably left over from some historical change, although, I'm not personally aware of...
Hrm. MSVC is having issues with using `interface` as a namespace, but only when building with CMake? That's odd...
I ended up renaming `interface` to `gdextension_interface`, which I think I like better anyway :-)
Now that PR https://github.com/godotengine/godot/pull/113697 is merged, I've updated it to match the latest in Godot `master`, and taken it out of DRAFT
Thanks for digging into this! I think some of these should be "fixed" with documentation (which we should try to make before stable), and others are consistency issues we can...