Use primitive arrays for better ergonomics/performance#51
Merged
skeet70 merged 2 commits into0.31.0-uniffi-updatefrom Mar 23, 2026
Merged
Use primitive arrays for better ergonomics/performance#51skeet70 merged 2 commits into0.31.0-uniffi-updatefrom
skeet70 merged 2 commits into0.31.0-uniffi-updatefrom
Conversation
where possible. Special cases for primitives in the same vein as byte arrays, any compound types will still be List-based
|
Minimum allowed coverage is Generated by 🐒 cobertura-action against 6f20020 |
giarc3
approved these changes
Mar 23, 2026
skeet70
added a commit
that referenced
this pull request
Mar 24, 2026
* Update to 0.29.3 * Uniffi 0.29.4 update * Uniffi 0.29.5 update - bugfix to prevent a potential Arc double free in async code if both the called function and the error handle threw. * Uniffi 0.30.0 checkpoint Need another thorough once over of the required changes. * Uniffi 0.30.0 update - added external type support - fixed external errors, got rid of workaround - switched to JNA direct mapping - added config option omit_checksums - still no defaults even though others expanded default support * Uniffi 0.30.0 complete, added tests to cover new functionality * First pass at 0.31.0 Needs some more work on proc macro cases and probably more test cases * Fully qualify all `java.lang` types in templates This prevents bugs like the few we've had so far where a type wasn't imported because it wasn't added to the specific template where something was used. It also eliminates the possibility of collisions with enum variant classes names. * Add changelog so far * Support the rename config option * Add missing rename test, switch to primitives where possible * Add a compatibility note * Don't call no-op cleaner for a NoHandle test object * Less chipper tests, use kotlin style trait object name resolution it may be a bit more robust with edge cases like external types * Clippy + fmt * Missed the sort check * Add a test to show that #37 is fixed in this branch * Add new options to config table in readme * Restrict the `_` only to places where non-template params might be in play * Use primitive arrays for better ergonomics/performance (#51) * Use primitive arrays for better ergonomics/performance where possible. Special cases for primitives in the same vein as byte arrays, any compound types will still be List-based * Sort cargo * Update readme/help text * Bump version for release
This was referenced Mar 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #44 and unblocks IronCoreLabs/ironcore-alloy#265
We're in a breaking change with the 0.31.0 upgrade, where we're also taking advantage and switching to primitives from boxed values as much as we can, so this fits in nicely. If we want to push it out later we could add the
use_primitive_arraysconfig option I mentioned in the changelog and default it to false (instead of the true it would default to if this goes in first and its later requested).