-
Notifications
You must be signed in to change notification settings - Fork 210
Closed
Labels
c: coreComponent: core (mod core_types, object, log, init, ...)Component: core (mod core_types, object, log, init, ...)quality-of-lifeNo new functionality, but improves ergonomics/internalsNo new functionality, but improves ergonomics/internals
Milestone
Description
Since v0.9, we have had idiomatic builder interfaces for registering properties, then for methods, but not yet for signals. This makes signals a lot more cumbersome to use, and out of place in terms of API design, compared to other aspects of exposing a GDScript API.
Drawbacks
No known drawbacks. PropertyBuilder
and MethodBuilder
has proven to be successful.
Alternatives
No known alternatives. The builder pattern is ubiquitous in the Rust ecosystem for use cases like this.
Further features like typed signal emission (#758 (comment)) and derive macro support (#715) are orthogonal to the procedural registration API.
Prior art
The API of clap
can serve as an inspiration on how multiple named arguments can be handled.
Metadata
Metadata
Assignees
Labels
c: coreComponent: core (mod core_types, object, log, init, ...)Component: core (mod core_types, object, log, init, ...)quality-of-lifeNo new functionality, but improves ergonomics/internalsNo new functionality, but improves ergonomics/internals