Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Array-based function pointer tables #408

Merged
merged 1 commit into from
Sep 11, 2023
Merged

Conversation

Bromeon
Copy link
Member

@Bromeon Bromeon commented Sep 11, 2023

Class and builtin function tables now use giant arrays instead of named fields.

Reduces the amount of generated code and thus compile time, while providing the same functionality. In particular, this should address the clippy issue.

Utility functions and builtin lifecycle methods still keep named method tables, as those have a higher chance of being used via names, and they are not that big in comparison.

@Bromeon Bromeon added quality-of-life No new functionality, but improves ergonomics/internals c: engine Godot classes (nodes, resources, ...) labels Sep 11, 2023
…ed fields

Should reduce the amount of generated code and thus compile time, while providing the same functionality.

This is not yet done for utility functions and builtin lifecycle methods, as those have a higher chance of being used via names,
and they are not that big in comparison.
@GodotRust
Copy link

API docs are being generated and will be shortly available at: https://godot-rust.github.io/docs/gdext/pr-408

@Bromeon Bromeon added this pull request to the merge queue Sep 11, 2023
@GodotRust
Copy link

API docs are being generated and will be shortly available at: https://godot-rust.github.io/docs/gdext/pr-408

Merged via the queue into master with commit 214f508 Sep 11, 2023
14 checks passed
@Bromeon Bromeon deleted the qol/indexed-method-tables branch September 11, 2023 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c: engine Godot classes (nodes, resources, ...) quality-of-life No new functionality, but improves ergonomics/internals
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants