assert-rs / predicates-rs

Boolean-valued predicate functions in Rust
docs.rs/predicates
Apache License 2.0
173 stars 29 forks source link

predicates-core MSRV 1.19 -> 1.31 in 1.0.1 #93

Closed kentfredric closed 3 years ago

kentfredric commented 3 years ago

This ticket doesn't require action, its just for your information.

Testing indicates that 1.0.1 changes the effective MSRV from 1.19.0 to 1.31.0

https://kentfredric.github.io/rust-vmatrix/crates-p/pr/predicates-core/

snapshot_20201229_185213

Failure on rust 1.30 ```console Compiling predicates-core v1.0.1 Running `rustc --edition=2018 --crate-name predicates_core /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/lib.rs --color always --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=eac2f78185e84610 -C extra-filename=-eac2f78185e84610 --out-dir /tmp/Wkpp3jDiZE/vcheck_pl/predicates-core-rustc1_30_1_1/target/debug/deps -L dependency=/tmp/Wkpp3jDiZE/vcheck_pl/predicates-core-rustc1_30_1_1/target/debug/deps --cap-lints allow -C linker=x86_64-pc-linux-gnu-gcc` error: Edition 2018 is unstable and only available for nightly builds of rustc. error: Could not compile `predicates-core`. Caused by: process didn't exit successfully: `rustc --edition=2018 --crate-name predicates_core /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/lib.rs --color always --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=eac2f78185e84610 -C extra-filename=-eac2f78185e84610 --out-dir /tmp/Wkpp3jDiZE/vcheck_pl/predicates-core-rustc1_30_1_1/target/debug/deps -L dependency=/tmp/Wkpp3jDiZE/vcheck_pl/predicates-core-rustc1_30_1_1/target/debug/deps --cap-lints allow -C linker=x86_64-pc-linux-gnu-gcc` (exit code: 1) ```
Failure on rust 1.27 to 1.29 ```console Updating registry `https://github.com/rust-lang/crates.io-index` error: unable to get packages from source Caused by: failed to parse manifest at `/tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/Cargo.toml` Caused by: editions are unstable Caused by: feature `edition` is required this Cargo does not support nightly features, but if you switch to nightly channel you can add `cargo-features = ["edition"]` to enable this feature ```
Failure on rust 1.26 ```console Updating registry `https://github.com/rust-lang/crates.io-index` Compiling predicates-core v1.0.1 Running `rustc --crate-name predicates_core /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=d28798d656779a9a -C extra-filename=-d28798d656779a9a --out-dir /tmp/Wkpp3jDiZE/vcheck_pl/predicates-core-rustc1_26_2_1/target/debug/deps -L dependency=/tmp/Wkpp3jDiZE/vcheck_pl/predicates-core-rustc1_26_2_1/target/debug/deps --cap-lints allow -C linker=x86_64-pc-linux-gnu-gcc` error[E0658]: `crate` in paths is experimental (see issue #45477) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/core.rs:9:5 | 9 | use crate::reflection; | ^^^^^ error[E0658]: `crate` in paths is experimental (see issue #45477) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/lib.rs:24:9 | 24 | pub use crate::core::*; | ^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:18:40 | 18 | fn parameters<'a>(&'a self) -> Box> + 'a> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:24:38 | 24 | fn children<'a>(&'a self) -> Box> + 'a> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:38:39 | 38 | pub struct Parameter<'a>(&'a str, &'a dyn fmt::Display); | ^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:42:41 | 42 | pub fn new(key: &'a str, value: &'a dyn fmt::Display) -> Self { | ^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:52:29 | 52 | pub fn value(&self) -> &dyn fmt::Display { | ^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:70:35 | 70 | pub struct Child<'a>(&'a str, &'a dyn PredicateReflection); | ^^^^^^^^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:74:41 | 74 | pub fn new(key: &'a str, value: &'a dyn PredicateReflection) -> Self { | ^^^^^^^^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:84:29 | 84 | pub fn value(&self) -> &dyn PredicateReflection { | ^^^^^^^^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:103:27 | 103 | predicate: Option<&'a dyn PredicateReflection>, | ^^^^^^^^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:111:38 | 111 | pub fn new(predicate: Option<&'a dyn PredicateReflection>, result: bool) -> Self { | ^^^^^^^^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:133:40 | 133 | pub fn predicate(&self) -> Option<&dyn PredicateReflection> { | ^^^^^^^^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:223:51 | 223 | pub struct Product(borrow::Cow<'static, str>, Box); | ^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:244:29 | 244 | pub fn value(&self) -> &dyn fmt::Display { | ^^^^^^^^^^^^^^^^ error: aborting due to 15 previous errors For more information about this error, try `rustc --explain E0658`. error: Could not compile `predicates-core`. Caused by: process didn't exit successfully: `rustc --crate-name predicates_core /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=d28798d656779a9a -C extra-filename=-d28798d656779a9a --out-dir /tmp/Wkpp3jDiZE/vcheck_pl/predicates-core-rustc1_26_2_1/target/debug/deps -L dependency=/tmp/Wkpp3jDiZE/vcheck_pl/predicates-core-rustc1_26_2_1/target/debug/deps --cap-lints allow -C linker=x86_64-pc-linux-gnu-gcc` (exit code: 101) ```
Failure on rust 1.25 ```console Updating registry `https://github.com/rust-lang/crates.io-index` Compiling predicates-core v1.0.1 Running `rustc --crate-name predicates_core /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=ac856e13a35423d4 -C extra-filename=-ac856e13a35423d4 --out-dir /tmp/Wkpp3jDiZE/vcheck_pl/predicates-core-rustc1_25_0_1/target/debug/deps -L dependency=/tmp/Wkpp3jDiZE/vcheck_pl/predicates-core-rustc1_25_0_1/target/debug/deps --cap-lints allow -C linker=x86_64-pc-linux-gnu-gcc` error[E0658]: `crate` in paths is experimental (see issue #45477) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/core.rs:9:5 | 9 | use crate::reflection; | ^^^^^ error[E0658]: `crate` in paths is experimental (see issue #45477) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/lib.rs:24:9 | 24 | pub use crate::core::*; | ^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:18:40 | 18 | fn parameters<'a>(&'a self) -> Box> + 'a> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:24:38 | 24 | fn children<'a>(&'a self) -> Box> + 'a> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:38:39 | 38 | pub struct Parameter<'a>(&'a str, &'a dyn fmt::Display); | ^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:42:41 | 42 | pub fn new(key: &'a str, value: &'a dyn fmt::Display) -> Self { | ^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:52:29 | 52 | pub fn value(&self) -> &dyn fmt::Display { | ^^^^^^^^^^^^^^^^ error[E0658]: underscore lifetimes are unstable (see issue #44524) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:58:42 | 58 | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { | ^^ error[E0658]: underscore lifetimes are unstable (see issue #44524) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:64:42 | 64 | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { | ^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:70:35 | 70 | pub struct Child<'a>(&'a str, &'a dyn PredicateReflection); | ^^^^^^^^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:74:41 | 74 | pub fn new(key: &'a str, value: &'a dyn PredicateReflection) -> Self { | ^^^^^^^^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:84:29 | 84 | pub fn value(&self) -> &dyn PredicateReflection { | ^^^^^^^^^^^^^^^^^^^^^^^ error[E0658]: underscore lifetimes are unstable (see issue #44524) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:90:42 | 90 | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { | ^^ error[E0658]: underscore lifetimes are unstable (see issue #44524) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:96:42 | 96 | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { | ^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:103:27 | 103 | predicate: Option<&'a dyn PredicateReflection>, | ^^^^^^^^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:111:38 | 111 | pub fn new(predicate: Option<&'a dyn PredicateReflection>, result: bool) -> Self { | ^^^^^^^^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:133:40 | 133 | pub fn predicate(&self) -> Option<&dyn PredicateReflection> { | ^^^^^^^^^^^^^^^^^^^^^^^ error[E0658]: underscore lifetimes are unstable (see issue #44524) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:143:44 | 143 | pub fn products(&self) -> CaseProducts<'_> { | ^^ error[E0658]: underscore lifetimes are unstable (see issue #44524) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:150:44 | 150 | pub fn children(&self) -> CaseChildren<'_> { | ^^ error[E0658]: underscore lifetimes are unstable (see issue #44524) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:158:42 | 158 | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { | ^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:223:51 | 223 | pub struct Product(borrow::Cow<'static, str>, Box); | ^^^^^^^^^^^^^^^^ error[E0658]: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:244:29 | 244 | pub fn value(&self) -> &dyn fmt::Display { | ^^^^^^^^^^^^^^^^ error[E0658]: underscore lifetimes are unstable (see issue #44524) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:250:42 | 250 | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { | ^^ error[E0658]: underscore lifetimes are unstable (see issue #44524) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:256:42 | 256 | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { | ^^ error: aborting due to 24 previous errors error: Could not compile `predicates-core`. Caused by: process didn't exit successfully: `rustc --crate-name predicates_core /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=ac856e13a35423d4 -C extra-filename=-ac856e13a35423d4 --out-dir /tmp/Wkpp3jDiZE/vcheck_pl/predicates-core-rustc1_25_0_1/target/debug/deps -L dependency=/tmp/Wkpp3jDiZE/vcheck_pl/predicates-core-rustc1_25_0_1/target/debug/deps --cap-lints allow -C linker=x86_64-pc-linux-gnu-gcc` (exit code: 101) ```
Failure on rust 1.24 ```console Updating registry `https://github.com/rust-lang/crates.io-index` Compiling predicates-core v1.0.1 Running `rustc --crate-name predicates_core /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=6c6a7c081787498a -C extra-filename=-6c6a7c081787498a --out-dir /tmp/Wkpp3jDiZE/vcheck_pl/predicates-core-rustc1_24_1_1/target/debug/deps -L dependency=/tmp/Wkpp3jDiZE/vcheck_pl/predicates-core-rustc1_24_1_1/target/debug/deps --cap-lints allow -C linker=x86_64-pc-linux-gnu-gcc` error: `crate` in paths is experimental (see issue #45477) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/core.rs:9:5 | 9 | use crate::reflection; | ^^^^^ error: `crate` in paths is experimental (see issue #45477) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/lib.rs:24:9 | 24 | pub use crate::core::*; | ^^^^^ error: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:18:40 | 18 | fn parameters<'a>(&'a self) -> Box> + 'a> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:24:38 | 24 | fn children<'a>(&'a self) -> Box> + 'a> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:38:39 | 38 | pub struct Parameter<'a>(&'a str, &'a dyn fmt::Display); | ^^^^^^^^^^^^^^^^ error: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:42:41 | 42 | pub fn new(key: &'a str, value: &'a dyn fmt::Display) -> Self { | ^^^^^^^^^^^^^^^^ error: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:52:29 | 52 | pub fn value(&self) -> &dyn fmt::Display { | ^^^^^^^^^^^^^^^^ error: underscore lifetimes are unstable (see issue #44524) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:58:42 | 58 | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { | ^^ error: underscore lifetimes are unstable (see issue #44524) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:64:42 | 64 | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { | ^^ error: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:70:35 | 70 | pub struct Child<'a>(&'a str, &'a dyn PredicateReflection); | ^^^^^^^^^^^^^^^^^^^^^^^ error: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:74:41 | 74 | pub fn new(key: &'a str, value: &'a dyn PredicateReflection) -> Self { | ^^^^^^^^^^^^^^^^^^^^^^^ error: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:84:29 | 84 | pub fn value(&self) -> &dyn PredicateReflection { | ^^^^^^^^^^^^^^^^^^^^^^^ error: underscore lifetimes are unstable (see issue #44524) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:90:42 | 90 | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { | ^^ error: underscore lifetimes are unstable (see issue #44524) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:96:42 | 96 | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { | ^^ error: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:103:27 | 103 | predicate: Option<&'a dyn PredicateReflection>, | ^^^^^^^^^^^^^^^^^^^^^^^ error: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:111:38 | 111 | pub fn new(predicate: Option<&'a dyn PredicateReflection>, result: bool) -> Self { | ^^^^^^^^^^^^^^^^^^^^^^^ error: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:133:40 | 133 | pub fn predicate(&self) -> Option<&dyn PredicateReflection> { | ^^^^^^^^^^^^^^^^^^^^^^^ error: underscore lifetimes are unstable (see issue #44524) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:143:44 | 143 | pub fn products(&self) -> CaseProducts<'_> { | ^^ error: underscore lifetimes are unstable (see issue #44524) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:150:44 | 150 | pub fn children(&self) -> CaseChildren<'_> { | ^^ error: underscore lifetimes are unstable (see issue #44524) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:158:42 | 158 | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { | ^^ error: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:223:51 | 223 | pub struct Product(borrow::Cow<'static, str>, Box); | ^^^^^^^^^^^^^^^^ error: `dyn Trait` syntax is unstable (see issue #44662) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:244:29 | 244 | pub fn value(&self) -> &dyn fmt::Display { | ^^^^^^^^^^^^^^^^ error: underscore lifetimes are unstable (see issue #44524) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:250:42 | 250 | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { | ^^ error: underscore lifetimes are unstable (see issue #44524) --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/reflection.rs:256:42 | 256 | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { | ^^ error: aborting due to 24 previous errors error: Could not compile `predicates-core`. Caused by: process didn't exit successfully: `rustc --crate-name predicates_core /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=6c6a7c081787498a -C extra-filename=-6c6a7c081787498a --out-dir /tmp/Wkpp3jDiZE/vcheck_pl/predicates-core-rustc1_24_1_1/target/debug/deps -L dependency=/tmp/Wkpp3jDiZE/vcheck_pl/predicates-core-rustc1_24_1_1/target/debug/deps --cap-lints allow -C linker=x86_64-pc-linux-gnu-gcc` (exit code: 101) ```
Failure on rust 1.14 - 1.23 ```console Updating registry `https://github.com/rust-lang/crates.io-index` Compiling predicates-core v1.0.1 Running `rustc --crate-name predicates_core /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=7496c2056dd620d1 -C extra-filename=-7496c2056dd620d1 --out-dir /tmp/Wkpp3jDiZE/vcheck_pl/predicates-core-rustc1_23_0_1/target/debug/deps -L dependency=/tmp/Wkpp3jDiZE/vcheck_pl/predicates-core-rustc1_23_0_1/target/debug/deps --cap-lints allow -C linker=x86_64-pc-linux-gnu-gcc` error: expected identifier, found keyword `crate` --> /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/core.rs:9:5 | 9 | use crate::reflection; | ^^^^^ error: aborting due to previous error error: Could not compile `predicates-core`. Caused by: process didn't exit successfully: `rustc --crate-name predicates_core /tmp/Wkpp3jDiZE/vcheck_pl/cargo_1/.cargo/registry/src/github.com-1ecc6299db9ec823/predicates-core-1.0.1/src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=7496c2056dd620d1 -C extra-filename=-7496c2056dd620d1 --out-dir /tmp/Wkpp3jDiZE/vcheck_pl/predicates-core-rustc1_23_0_1/target/debug/deps -L dependency=/tmp/Wkpp3jDiZE/vcheck_pl/predicates-core-rustc1_23_0_1/target/debug/deps --cap-lints allow -C linker=x86_64-pc-linux-gnu-gcc` (exit code: 101) ```

Casual observation suggests the main culprit for this regression is:

I believe there is sometimes some value in incrementing semver when changing minimum supported rust, especially when you advertise a "stable API" ( 1.x )

Though documenting the minimum supported rust somewhere top-level (README) also goes a long way.

Setting up a CI server to check your documented MSRV sticks is also quite welcome.

In the event this issue is not helpful, just let me know and I'll try to avoid filing similar issues on this crate in future.

NB: I don't directly use predicates-core, I'm just doing build testing across the ecosystem.

epage commented 3 years ago

I believe there is sometimes some value in incrementing semver when changing minimum supported rust, especially when you advertise a "stable API" ( 1.x )

This is a long debated point that isn't so cut and dry and the feeling I have from the community is that MSRV does not impact semver. Please be careful with these messages as they can create unnecessary confusion within the community.

As for this project, our CI enforces some level of MSRV checking and it is currently set to 1.33, see https://github.com/assert-rs/predicates-rs/blob/master/azure-pipelines.yml#L11

kentfredric commented 3 years ago

As for this project, our CI enforces some level of MSRV checking and it is currently set to 1.33, see https://github.com/assert-rs/predicates-rs/blob/master/azure-pipelines.yml#L11

Nice. If that MSRV could be documented somewhere user visible to help set expectations, that would be an improvement.

Basically, as long as the MSRV is documented to be higher or equal to the point at which I found the failure, I'd have not bothered filing a bug, as the primary objective here is to detect potentially unintended MSRV increases.

As long as they're clearly intentional, then I'm not going to contest/debate it :)