fix forced MinSRV increase (using pinned 'backtrace' version)

- hotfix transitive bug in 'failure' forcing MinSRV increase to rust v1.33.0 by pinning 'backtrace' to <= 0.3.31
- [rustlang/nursery#340](https://github.com/rust-lang-nursery/failure/issues/340) is now open on 'failure' to address this issue

.# [why]

'failure' was using 'backtrace' `version = "0.3.3"`, which by semantic version
auto-upgrade was pulling in 'backtrace' > v0.3.30 (specifically, v0.3.40 most
recently). 'backtrace' v0.3.31 introduces use of `#[cfg(target_vendor = ...)]`
which requires rust v1.33.0. So, 'backtrace' is forcing an upgrade of MinSRV
to rust v1.33.0 with the change from backtrace v0.3.30 to backtrace v0.3.31.

Technically, by being less than v1.0.0, 'backtrace' has no semantic version
requirement. And there is debate about whether increasing MinSRV is a semantic
change. But, in my strong opinion, breaking our MinSRV statement is definitely
a semantic change.

* ref: <https://github.com/rust-lang/rust/blob/master/RELEASES.md>
This commit is contained in:
Roy Ivy III
2020-01-05 15:16:24 -06:00
parent 1fdeb5e35d
commit fa030ebde0
+2
View File
@@ -27,6 +27,8 @@ wild = "2.0.1"
nix = { version = "0.13", optional = true }
lazy_static = { version = "1.3", optional = true }
platform-info = { version = "0.0.1", optional = true }
# * transitive dependency via 'failure'; pin to <= v0.3.30 to avoid increasing MinSRV to v1.33.0
backtrace = ">= 0.3.3, <= 0.3.30"
[target.'cfg(target_os = "redox")'.dependencies]
termion = "1.5"