-
Notifications
You must be signed in to change notification settings - Fork 9
Description
This serves as a checklist for what needs to be done for uniffi-dart to move to uniffi-rs 0.30.
The scope roughly invloves migration of imports from uniffi_bindgen::backend to the 0.30 pipeline/interface APIs; update literal/default handling; rewrite handle management to treat object/trait handles as u64 with low-bit tagging; adjust callback interface generation to the new vtable ordering and clone/free expectations; ensure Dart-side UniffiHandleMap manages even/odd handles correctly; regenerate fixtures and bindings; bump crate/tag once tests pass.
Tasks:
- Align all unifi* dependencies to 0.30.x.
- Regenerate fixtures/bindings, run the test suite, and prepare release notes.
- Refactor generator code for new pipeline data structures (Literal, Type, etc.).
- Convert handle storage to 64-bit ints, including clone/free helpers and generated Dart glue.
- Update callback/trait scaffolding (vtable layout, low-bit tagging, clone trampolines).
- Revisit default-value lowering for refreshed Literal semantics.
With these high-level tasks and potential regressions completed, this ticket is considered complete once the generator builds against UniFFI 0.30, new fixtures pass, Dart integration tests confirm handle/tag behavior, and documentation reflects new requirements.