Both bdk_core and bdk_chain declare their serde dependency without default-features = false.
Because serde's default feature set includes std, enabling the bdk_chain/serde feature in a downstream no_std crate activates serde/std via Cargo's feature unification. On bare-metal targets where std is unavailable this produces a compile error in serde_core.
Expected behavior
Enabling bdk_chain/serde in a no_std + alloc project should not activate serde/std. The fix is straightforward: add default-features = false to the serde dep in both bdk_core and bdk_chain, and propagate serde/std through their existing std feature.
Both
bdk_coreandbdk_chaindeclare theirserdedependency withoutdefault-features = false.Because serde's default feature set includes
std, enabling thebdk_chain/serdefeature in a downstreamno_stdcrate activatesserde/stdvia Cargo's feature unification. On bare-metal targets wherestdis unavailable this produces a compile error inserde_core.Expected behavior
Enabling
bdk_chain/serdein ano_std + allocproject should not activateserde/std. The fix is straightforward: adddefault-features = falseto theserdedep in bothbdk_coreandbdk_chain, and propagateserde/stdthrough their existingstdfeature.