-
Notifications
You must be signed in to change notification settings - Fork 963
Closed
Labels
1.0Issues and PRs required or helping to stabilize the APIIssues and PRs required or helping to stabilize the APIbrainstorm
Description
When attempting to support no_std in ln-types I found out that no-std makes it problematic:
- It essentially requires re-exporting this feature in the consuming libraries (and the consumers of consumers and so on...)
- It will not work well with the upcoming weak dependency features because the intention was for depending library to provide
std = ["bitcoin?/std"]so that the number of features doesn't blow up. - The feature is irrelevant for consumers that only use things without IO or allocation (e.g.
Amount) so it's not nice to force it.
Proposed solution:
- Finer feature gating - disable
blockdataand other things withoutalloc - Either disable consensus encoding without either
stdorcore2or depend oncore2unconditionally (it reexportsstd) or use other crate or NIHiotraits (and change encoding traits). As a byproduct of this we could get rid of.expect("hash engines don't err"). - Use dependency inversion to avoid dependency on
hashbrown
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
1.0Issues and PRs required or helping to stabilize the APIIssues and PRs required or helping to stabilize the APIbrainstorm