From 84d8473e1a9f4a8d98de0bd584f0795fcf7878ed Mon Sep 17 00:00:00 2001 From: Roy Ivy III Date: Thu, 2 Jan 2020 17:26:10 -0600 Subject: [PATCH] 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: --- src/uucore/Cargo.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/uucore/Cargo.toml b/src/uucore/Cargo.toml index 611be8af9..1b381aa14 100644 --- a/src/uucore/Cargo.toml +++ b/src/uucore/Cargo.toml @@ -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"