-
Notifications
You must be signed in to change notification settings - Fork 154
Commit e7f44a6
committed
use lockfile rather than ad-hoc
Aside from not being future-proof at all, it's actually extremely hard
to pin dependencies for this version of the library to get ones that work
with 9.x. We have an ancient version of `bitcoind` in our deps, which in
turn unconditionally depends on several crates which all have bad
behavior (at least, the versions that we depend on).
For example, both `zip` many versions and `bitcoind` itself have maximum
`flate2` versions which are incompatible with each other. The latest
version of `zip` 0.5.x removes the max version, but has an incorrectly
stated minimum version of `thiserror`, which manifests in compilation
errors because some trait impls aren't created by the `thiserror` macro.
(And of course, you can't just use the latest `thiserror` because that
does not compile with 1.41.1 for many reasons.)
This is just one example. There are probably 10 such cases.
Anyway now we have a lockfile and we can just forget about all this crap
forever.
As a secondary change: change all the `deny`s in lib.rs, except the one
about unsafe code which seems likely to be future-proof, to `warn`s. The
library doesn't compile on nightly otherwise, since e.g. the definition
of `dead_code` has expanded.
On my system I can now compile the library with both 1.41.1 and nightly
2025-06-23, with the same lockfile.cargo update
calls to pin dependencies1 parent 3370e8d commit e7f44a6Copy full SHA for e7f44a6
File tree
Expand file treeCollapse file tree
3 files changed
+1044
-24
lines changedFilter options
- contrib
- src
Expand file treeCollapse file tree
3 files changed
+1044
-24
lines changed
0 commit comments