bitcoindevkit / bitcoindevkit/bdk-ffi
Profile `release-smaller` sets `panic = "abort"`, which disables uniffi's panic handling
- Dominant language
- Rust
- Stars
- 127
- Forks
- 81
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 5
Description
This works, but it doesn't have to be that way, and I just found out by browsing their docs and exploring our `release-smaller` profile.
See https://mozilla.github.io/uniffi-rs/latest/internals/rust_calls.html#panic-handling
Panics can instead just throw `RustCallStatusCode::UnexpectedError`. I want to do a deeper dive into when that could be the right choice here instead of our current "crash the whole process on a Rust panic" approach.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by inspecting the `release-smaller` profile and reading the linked UniFFI panic-handling documentation. Investigate whether using `RustCallStatusCode::UnexpectedError` is appropriate here instead of `panic = "abort"`, and define the tests or documented behavior needed to confirm the chosen approach.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- mobile-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100