[INFO] fetching crate version-sort 0.1.0... [INFO] testing version-sort-0.1.0 against try#b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b for pr-145330-1 [INFO] extracting crate version-sort 0.1.0 into /workspace/builds/worker-1-tc2/source [INFO] started tweaking crates.io crate version-sort 0.1.0 [INFO] finished tweaking crates.io crate version-sort 0.1.0 [INFO] tweaked toml for crates.io crate version-sort 0.1.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate version-sort 0.1.0 on toolchain b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 20 packages to latest compatible versions [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1969f43bad08238cdb251075e83568ccaa914ac50061b0db7c6e49c6f3d4e325 [INFO] running `Command { std: "docker" "start" "-a" "1969f43bad08238cdb251075e83568ccaa914ac50061b0db7c6e49c6f3d4e325", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1969f43bad08238cdb251075e83568ccaa914ac50061b0db7c6e49c6f3d4e325", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1969f43bad08238cdb251075e83568ccaa914ac50061b0db7c6e49c6f3d4e325", kill_on_drop: false }` [INFO] [stdout] 1969f43bad08238cdb251075e83568ccaa914ac50061b0db7c6e49c6f3d4e325 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 712769909ff937baa8b8b707f0394d1854defcba70a53ff597ec7838f95b2eca [INFO] running `Command { std: "docker" "start" "-a" "712769909ff937baa8b8b707f0394d1854defcba70a53ff597ec7838f95b2eca", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling version-sort v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.31s [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/lib.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | b'0'...b'9' => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "712769909ff937baa8b8b707f0394d1854defcba70a53ff597ec7838f95b2eca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "712769909ff937baa8b8b707f0394d1854defcba70a53ff597ec7838f95b2eca", kill_on_drop: false }` [INFO] [stdout] 712769909ff937baa8b8b707f0394d1854defcba70a53ff597ec7838f95b2eca [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e965a53acef46797aa07154231ea1f03fcf3cacb93254d922ad3ee416efdf38f [INFO] running `Command { std: "docker" "start" "-a" "e965a53acef46797aa07154231ea1f03fcf3cacb93254d922ad3ee416efdf38f", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] warning: version-sort v0.1.0 (/opt/rustwide/workdir) ignoring invalid dependency `clippy` which is missing a lib target [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/lib.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | b'0'...b'9' => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling version-sort v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/lib.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | #![cfg_attr(test, feature(plugin))] [INFO] [stdout] | ^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: removed in 1.75.0; see for more information [INFO] [stdout] = note: plugins are no longer supported [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `plugin` in this scope [INFO] [stdout] --> src/lib.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | #![cfg_attr(test, plugin(clippy))] [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/lib.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | b'0'...b'9' => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: can't compare `Number` with `Number` [INFO] [stdout] --> src/lib.rs:26:21 [INFO] [stdout] | [INFO] [stdout] 26 | impl PartialOrd for Number { [INFO] [stdout] | ^^^^^^ no implementation for `Number == Number` [INFO] [stdout] | [INFO] [stdout] = help: the trait `PartialEq` is not implemented for `Number` [INFO] [stdout] note: required by a bound in `PartialOrd` [INFO] [stdout] --> /rustc/b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b/library/core/src/cmp.rs:1345:1 [INFO] [stdout] help: consider annotating `Number` with `#[derive(PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 11 + #[derive(PartialEq)] [INFO] [stdout] 12 | pub struct Number { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Number: Eq` is not satisfied [INFO] [stdout] --> src/lib.rs:31:14 [INFO] [stdout] | [INFO] [stdout] 31 | impl Ord for Number { [INFO] [stdout] | ^^^^^^ the trait `Eq` is not implemented for `Number` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `Ord` [INFO] [stdout] --> /rustc/b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b/library/core/src/cmp.rs:961:1 [INFO] [stdout] help: consider annotating `Number` with `#[derive(Eq)]` [INFO] [stdout] | [INFO] [stdout] 11 + #[derive(Eq)] [INFO] [stdout] 12 | pub struct Number { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Number: Eq` is not satisfied [INFO] [stdout] --> src/lib.rs:28:14 [INFO] [stdout] | [INFO] [stdout] 28 | Some(self.cmp(rhs)) [INFO] [stdout] | ^^^^ the trait `Eq` is not implemented for `Number` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `std::cmp::Ord::cmp` [INFO] [stdout] --> /rustc/b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b/library/core/src/cmp.rs:979:5 [INFO] [stdout] help: consider annotating `Number` with `#[derive(Eq)]` [INFO] [stdout] | [INFO] [stdout] 11 + #[derive(Eq)] [INFO] [stdout] 12 | pub struct Number { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Vec>` [INFO] [stdout] --> src/lib.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | / assert_eq!(Version::new("Is 01.01.70 the epoch?").collect::>(), [INFO] [stdout] 187 | | vec![Part::Str("Is "), [INFO] [stdout] 188 | | Part::Num(Number { value: 1, leading_zeroes: 1 }), [INFO] [stdout] 189 | | Part::Str("."), [INFO] [stdout] ... | [INFO] [stdout] 192 | | Part::Num(Number { value: 70, leading_zeroes: 0 }), [INFO] [stdout] 193 | | Part::Str(" the epoch?")]); [INFO] [stdout] | | ^ [INFO] [stdout] | |_______________________________________________| [INFO] [stdout] | |_______________________________________________Vec> [INFO] [stdout] | Vec> [INFO] [stdout] | [INFO] [stdout] note: an implementation of `PartialEq>` might be missing for `Part<'_>` [INFO] [stdout] --> src/lib.rs:65:1 [INFO] [stdout] | [INFO] [stdout] 65 | pub enum Part<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ must implement `PartialEq>` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider annotating `Part<'_>` with `#[derive(PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 65 + #[derive(PartialEq)] [INFO] [stdout] 66 | pub enum Part<'a> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `Part<'_>` doesn't implement `Debug` [INFO] [stdout] --> src/lib.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | / assert_eq!(Version::new("Is 01.01.70 the epoch?").collect::>(), [INFO] [stdout] 187 | | vec![Part::Str("Is "), [INFO] [stdout] 188 | | Part::Num(Number { value: 1, leading_zeroes: 1 }), [INFO] [stdout] 189 | | Part::Str("."), [INFO] [stdout] ... | [INFO] [stdout] 192 | | Part::Num(Number { value: 70, leading_zeroes: 0 }), [INFO] [stdout] 193 | | Part::Str(" the epoch?")]); [INFO] [stdout] | |_______________________________________________^ the trait `Debug` is not implemented for `Part<'_>` [INFO] [stdout] | [INFO] [stdout] = note: add `#[derive(Debug)]` to `Part<'_>` or manually `impl Debug for Part<'_>` [INFO] [stdout] = help: the trait `Debug` is implemented for `Vec` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `Part<'_>` doesn't implement `Debug` [INFO] [stdout] --> src/lib.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | / assert_eq!(Version::new("Is 01.01.70 the epoch?").collect::>(), [INFO] [stdout] 187 | | vec![Part::Str("Is "), [INFO] [stdout] 188 | | Part::Num(Number { value: 1, leading_zeroes: 1 }), [INFO] [stdout] 189 | | Part::Str("."), [INFO] [stdout] ... | [INFO] [stdout] 192 | | Part::Num(Number { value: 70, leading_zeroes: 0 }), [INFO] [stdout] 193 | | Part::Str(" the epoch?")]); [INFO] [stdout] | |_______________________________________________^ the trait `Debug` is not implemented for `Part<'_>` [INFO] [stdout] | [INFO] [stdout] = note: add `#[derive(Debug)]` to `Part<'_>` or manually `impl Debug for Part<'_>` [INFO] [stdout] = help: the trait `Debug` is implemented for `Vec` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function cannot return without recursing [INFO] [stdout] --> src/lib.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | fn eq(&self, rhs: &Version<'a>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing [INFO] [stdout] 139 | self.clone().eq(rhs.clone()) [INFO] [stdout] | ---------------------------- recursive call site [INFO] [stdout] | [INFO] [stdout] = help: a `loop` may express intention better if this is on purpose [INFO] [stdout] = note: `#[warn(unconditional_recursion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function cannot return without recursing [INFO] [stdout] --> src/lib.rs:144:5 [INFO] [stdout] | [INFO] [stdout] 144 | fn partial_cmp(&self, rhs: &Version<'a>) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing [INFO] [stdout] 145 | self.clone().partial_cmp(rhs.clone()) [INFO] [stdout] | ------------------------------------- recursive call site [INFO] [stdout] | [INFO] [stdout] = help: a `loop` may express intention better if this is on purpose [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function cannot return without recursing [INFO] [stdout] --> src/lib.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | fn cmp(&self, rhs: &Version<'a>) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing [INFO] [stdout] 150 | self.clone().cmp(rhs.clone()) [INFO] [stdout] | ----------------------------- recursive call site [INFO] [stdout] | [INFO] [stdout] = help: a `loop` may express intention better if this is on purpose [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0369, E0557. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `version-sort` (lib test) due to 8 previous errors; 4 warnings emitted [INFO] running `Command { std: "docker" "inspect" "e965a53acef46797aa07154231ea1f03fcf3cacb93254d922ad3ee416efdf38f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e965a53acef46797aa07154231ea1f03fcf3cacb93254d922ad3ee416efdf38f", kill_on_drop: false }` [INFO] [stdout] e965a53acef46797aa07154231ea1f03fcf3cacb93254d922ad3ee416efdf38f