Replies: 5 comments 12 replies
-
How many dependencies do we have that blow up on us? At some point we've pinned them all and there's little new maintenance cost. Last I looked there wasn't much past 1.48 is all that exciting. |
Beta Was this translation helpful? Give feedback.
-
Default "std" build with no other features: $ cargo tree
bitcoin v0.30.0 (/home/tobin/build/github.com/tcharding/rust-bitcoin/bitcoin)
├── bech32 v0.9.1
├── bitcoin-internals v0.2.0 (/home/tobin/build/github.com/tcharding/rust-bitcoin/internals)
├── bitcoin_hashes v0.12.0 (/home/tobin/build/github.com/tcharding/rust-bitcoin/hashes)
│ ├── bitcoin-internals v0.2.0 (/home/tobin/build/github.com/tcharding/rust-bitcoin/internals)
│ └── hex-conservative v0.1.1
├── hex-conservative v0.1.1
├── hex_lit v0.1.1
└── secp256k1 v0.27.0
├── bitcoin_hashes v0.12.0 (/home/tobin/build/github.com/tcharding/rust-bitcoin/hashes) (*)
└── secp256k1-sys v0.8.1
[build-dependencies]
└── cc v1.0.82
└── libc v0.2.147
[dev-dependencies]
├── bincode v1.3.3
│ └── serde v1.0.183
│ └── serde_derive v1.0.183 (proc-macro)
├── serde_derive v1.0.183 (proc-macro)
├── serde_json v1.0.104
│ ├── itoa v1.0.9
│ ├── ryu v1.0.15
│ └── serde v1.0.183 (*)
└── serde_test v1.0.176
└── serde v1.0.183 (*) "no-std" build with no other features $ cargo tree --no-default-features --features=no-std
bitcoin v0.30.0 (/home/tobin/build/github.com/tcharding/rust-bitcoin/bitcoin)
├── bech32 v0.9.1
├── bitcoin-internals v0.2.0 (/home/tobin/build/github.com/tcharding/rust-bitcoin/internals)
├── bitcoin_hashes v0.12.0 (/home/tobin/build/github.com/tcharding/rust-bitcoin/hashes)
│ ├── bitcoin-internals v0.2.0 (/home/tobin/build/github.com/tcharding/rust-bitcoin/internals)
│ ├── core2 v0.3.3
│ │ └── memchr v2.5.0
│ └── hex-conservative v0.1.1
│ └── core2 v0.3.3 (*)
├── core2 v0.3.3 (*)
├── hex-conservative v0.1.1 (*)
├── hex_lit v0.1.1
└── secp256k1 v0.27.0
├── bitcoin_hashes v0.12.0 (/home/tobin/build/github.com/tcharding/rust-bitcoin/hashes) (*)
└── secp256k1-sys v0.8.1
[build-dependencies]
└── cc v1.0.82
└── libc v0.2.147
[dev-dependencies]
├── bincode v1.3.3
│ └── serde v1.0.183
│ └── serde_derive v1.0.183 (proc-macro)
├── serde_derive v1.0.183 (proc-macro)
├── serde_json v1.0.104
│ ├── itoa v1.0.9
│ ├── ryu v1.0.15
│ └── serde v1.0.183 (*)
└── serde_test v1.0.176
└── serde v1.0.183 (*) |
Beta Was this translation helpful? Give feedback.
-
Out of curiosity: What kind of tools exist in the ecosystem to find the optimal dependency versions and pins to target a given rust version for MSRV? I have a personal library that cargo-msrv says only supports 1.66, and I was hoping to get it down to at least 1.63... messing with version requirements was not fruitful. (and it was tedious)... Not to mention testing each set of features in my library against these MSRV requirements... Is this a very manual and tedious process? Are there any tips or tricks? Resources with advice in regards to lowering / maintaining MSRV? |
Beta Was this translation helpful? Give feedback.
-
Added "WITHDRAWN" to show that this did not get any traction and should not be considered any longer. |
Beta Was this translation helpful? Give feedback.
-
After we do the next release (
v0.31.0
) should we bump MSRV to Rust 1.57? It becomes two years old in December, which will comfortably be before releasev0.32.0
.Rust 1.57 gets us edition 2021 which should reduce the maintenance burden of our current MSRV.
Related
Beta Was this translation helpful? Give feedback.
All reactions