Skip to content

GDNative default parameters cause breaking changes #814

Open
@Bromeon

Description

@Bromeon

The dodge_the_creeps example in godot-rust, which uses Input::is_action_pressed(), no longer compiles with Godot 3.4.

Reason is an API change in GDNative:

The extra parameter exact is optional, which is a non-breaking change in GDScript and C++, but a breaking one in Rust, since the language does not support default parameters.

There are likely more places in the GDNative API with such changes. At the moment, they make it impossible for godot-rust to support multiple Godot minor versions simultaneously. Either we find a way to support such APIs in Rust, or we can only support the latest minor version.

Metadata

Metadata

Assignees

No one assigned

    Labels

    breaking-changeIssues and PRs that are breaking to fix/merge.bugc: bindingsComponent: GDNative bindings (mod api)

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions