[INFO] fetching crate ronkathon 0.1.0... [INFO] testing ronkathon-0.1.0 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate ronkathon 0.1.0 into /workspace/builds/worker-4-tc1/source [INFO] removed /workspace/builds/worker-4-tc1/source/rust-toolchain.toml [INFO] started tweaking crates.io crate ronkathon 0.1.0 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate ronkathon 0.1.0 [INFO] tweaked toml for crates.io crate ronkathon 0.1.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate ronkathon 0.1.0 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate ronkathon 0.1.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded proc-macro-crate v3.2.0 [INFO] [stderr] Downloaded ark-relations v0.5.1 [INFO] [stderr] Downloaded ark-snark v0.5.1 [INFO] [stderr] Downloaded ark-crypto-primitives-macros v0.5.0 [INFO] [stderr] Downloaded des v0.8.1 [INFO] [stderr] Downloaded rstest_macros v0.23.0 [INFO] [stderr] Downloaded ark-crypto-primitives v0.5.0 [INFO] [stderr] Downloaded tracing-subscriber v0.2.25 [INFO] [stderr] Downloaded winnow v0.6.20 [INFO] [stderr] Downloaded rstest v0.23.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 81db65af2a70eaa6f9fe5a486f7f84c3a87bf429de49ed1f0d90c9a3a0d2f367 [INFO] running `Command { std: "docker" "start" "-a" "81db65af2a70eaa6f9fe5a486f7f84c3a87bf429de49ed1f0d90c9a3a0d2f367", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "81db65af2a70eaa6f9fe5a486f7f84c3a87bf429de49ed1f0d90c9a3a0d2f367", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "81db65af2a70eaa6f9fe5a486f7f84c3a87bf429de49ed1f0d90c9a3a0d2f367", kill_on_drop: false }` [INFO] [stdout] 81db65af2a70eaa6f9fe5a486f7f84c3a87bf429de49ed1f0d90c9a3a0d2f367 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a2184b7541a65e4060678487c5a37f328cdc312d2b0498779ea891167e6f123f [INFO] running `Command { std: "docker" "start" "-a" "a2184b7541a65e4060678487c5a37f328cdc312d2b0498779ea891167e6f123f", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.92 [INFO] [stderr] Compiling unicode-ident v1.0.14 [INFO] [stderr] Compiling libc v0.2.169 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling syn v2.0.91 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling ppv-lite86 v0.2.20 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling ronkathon v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/lib.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | #![feature(effects)] [INFO] [stdout] | ^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: removed in 1.84.0; see for more information [INFO] [stdout] = note: removed, redundant with `#![feature(const_trait_impl)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/algebra/field/extension/mod.rs:44:3 [INFO] [stdout] | [INFO] [stdout] 44 | #[const_trait] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/algebra/field/mod.rs:17:3 [INFO] [stdout] | [INFO] [stdout] 17 | #[const_trait] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/algebra/group/mod.rs:8:3 [INFO] [stdout] | [INFO] [stdout] 8 | #[const_trait] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/algebra/group/mod.rs:66:3 [INFO] [stdout] | [INFO] [stdout] 66 | #[const_trait] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/algebra/mod.rs:8:3 [INFO] [stdout] | [INFO] [stdout] 8 | #[const_trait] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `const_mut_refs` has been stable since 1.83.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | #![feature(const_mut_refs)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `const_option` has been stable since 1.83.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | #![feature(const_option)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `Finite` which is not `const` [INFO] [stdout] --> src/algebra/field/prime/mod.rs:138:28 [INFO] [stdout] | [INFO] [stdout] 138 | impl const Finite for PrimeField

{ [INFO] [stdout] | ^^^^^^ this trait is not `const` [INFO] [stdout] | [INFO] [stdout] = note: marking a trait with `const` ensures all default method bodies are `const` [INFO] [stdout] = note: adding a non-const method body in the future would be a breaking change [INFO] [stdout] help: mark `Finite` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/algebra/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub const trait Finite { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `Field` which is not `const` [INFO] [stdout] --> src/algebra/field/prime/mod.rs:142:28 [INFO] [stdout] | [INFO] [stdout] 142 | impl const Field for PrimeField

{ [INFO] [stdout] | ^^^^^ this trait is not `const` [INFO] [stdout] | [INFO] [stdout] = note: marking a trait with `const` ensures all default method bodies are `const` [INFO] [stdout] = note: adding a non-const method body in the future would be a breaking change [INFO] [stdout] help: mark `Field` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/algebra/field/mod.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub const trait Field: [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const method ` as algebra::field::Field>::pow` in constant functions [INFO] [stdout] --> src/algebra/field/prime/mod.rs:155:15 [INFO] [stdout] | [INFO] [stdout] 155 | Some(self.pow(Self::ORDER - 2)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: method `pow` is not const because trait `Field` is not const [INFO] [stdout] --> src/algebra/field/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | / pub trait Field: [INFO] [stdout] 19 | | std::fmt::Debug [INFO] [stdout] 20 | | + From [INFO] [stdout] 21 | | + Default [INFO] [stdout] ... | [INFO] [stdout] 39 | | + Hash [INFO] [stdout] 40 | | + 'static { [INFO] [stdout] | |___________^ this trait is not const [INFO] [stdout] ... [INFO] [stdout] 50 | fn pow(self, power: usize) -> Self; [INFO] [stdout] | ----------------------------------- this method is not const [INFO] [stdout] = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stdout] help: consider making trait `Field` const [INFO] [stdout] --> src/algebra/field/mod.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub const trait Field: [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const method ` as algebra::field::Field>::pow` in constant functions [INFO] [stdout] --> src/algebra/field/prime/mod.rs:164:23 [INFO] [stdout] | [INFO] [stdout] 164 | Self::new((self.pow(power / 2).value * self.pow(power / 2).value) % Self::ORDER) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: method `pow` is not const because trait `Field` is not const [INFO] [stdout] --> src/algebra/field/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | / pub trait Field: [INFO] [stdout] 19 | | std::fmt::Debug [INFO] [stdout] 20 | | + From [INFO] [stdout] 21 | | + Default [INFO] [stdout] ... | [INFO] [stdout] 39 | | + Hash [INFO] [stdout] 40 | | + 'static { [INFO] [stdout] | |___________^ this trait is not const [INFO] [stdout] ... [INFO] [stdout] 50 | fn pow(self, power: usize) -> Self; [INFO] [stdout] | ----------------------------------- this method is not const [INFO] [stdout] = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stdout] help: consider making trait `Field` const [INFO] [stdout] --> src/algebra/field/mod.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub const trait Field: [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const method ` as algebra::field::Field>::pow` in constant functions [INFO] [stdout] --> src/algebra/field/prime/mod.rs:164:51 [INFO] [stdout] | [INFO] [stdout] 164 | Self::new((self.pow(power / 2).value * self.pow(power / 2).value) % Self::ORDER) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: method `pow` is not const because trait `Field` is not const [INFO] [stdout] --> src/algebra/field/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | / pub trait Field: [INFO] [stdout] 19 | | std::fmt::Debug [INFO] [stdout] 20 | | + From [INFO] [stdout] 21 | | + Default [INFO] [stdout] ... | [INFO] [stdout] 39 | | + Hash [INFO] [stdout] 40 | | + 'static { [INFO] [stdout] | |___________^ this trait is not const [INFO] [stdout] ... [INFO] [stdout] 50 | fn pow(self, power: usize) -> Self; [INFO] [stdout] | ----------------------------------- this method is not const [INFO] [stdout] = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stdout] help: consider making trait `Field` const [INFO] [stdout] --> src/algebra/field/mod.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub const trait Field: [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const method ` as algebra::field::Field>::pow` in constant functions [INFO] [stdout] --> src/algebra/field/prime/mod.rs:166:23 [INFO] [stdout] | [INFO] [stdout] 166 | Self::new((self.pow(power / 2).value * self.pow(power / 2).value * self.value) % Self::ORDER) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: method `pow` is not const because trait `Field` is not const [INFO] [stdout] --> src/algebra/field/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | / pub trait Field: [INFO] [stdout] 19 | | std::fmt::Debug [INFO] [stdout] 20 | | + From [INFO] [stdout] 21 | | + Default [INFO] [stdout] ... | [INFO] [stdout] 39 | | + Hash [INFO] [stdout] 40 | | + 'static { [INFO] [stdout] | |___________^ this trait is not const [INFO] [stdout] ... [INFO] [stdout] 50 | fn pow(self, power: usize) -> Self; [INFO] [stdout] | ----------------------------------- this method is not const [INFO] [stdout] = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stdout] help: consider making trait `Field` const [INFO] [stdout] --> src/algebra/field/mod.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub const trait Field: [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const method ` as algebra::field::Field>::pow` in constant functions [INFO] [stdout] --> src/algebra/field/prime/mod.rs:166:51 [INFO] [stdout] | [INFO] [stdout] 166 | Self::new((self.pow(power / 2).value * self.pow(power / 2).value * self.value) % Self::ORDER) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: method `pow` is not const because trait `Field` is not const [INFO] [stdout] --> src/algebra/field/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | / pub trait Field: [INFO] [stdout] 19 | | std::fmt::Debug [INFO] [stdout] 20 | | + From [INFO] [stdout] 21 | | + Default [INFO] [stdout] ... | [INFO] [stdout] 39 | | + Hash [INFO] [stdout] 40 | | + 'static { [INFO] [stdout] | |___________^ this trait is not const [INFO] [stdout] ... [INFO] [stdout] 50 | fn pow(self, power: usize) -> Self; [INFO] [stdout] | ----------------------------------- this method is not const [INFO] [stdout] = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stdout] help: consider making trait `Field` const [INFO] [stdout] --> src/algebra/field/mod.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub const trait Field: [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const method ` as algebra::field::Field>::pow` in constant functions [INFO] [stdout] --> src/algebra/field/prime/mod.rs:198:34 [INFO] [stdout] | [INFO] [stdout] 198 | if PrimeField::

::new(i).pow((P - 1) / i).value != PrimeField::

::ONE.value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: method `pow` is not const because trait `Field` is not const [INFO] [stdout] --> src/algebra/field/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | / pub trait Field: [INFO] [stdout] 19 | | std::fmt::Debug [INFO] [stdout] 20 | | + From [INFO] [stdout] 21 | | + Default [INFO] [stdout] ... | [INFO] [stdout] 39 | | + Hash [INFO] [stdout] 40 | | + 'static { [INFO] [stdout] | |___________^ this trait is not const [INFO] [stdout] ... [INFO] [stdout] 50 | fn pow(self, power: usize) -> Self; [INFO] [stdout] | ----------------------------------- this method is not const [INFO] [stdout] = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stdout] help: consider making trait `Field` const [INFO] [stdout] --> src/algebra/field/mod.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub const trait Field: [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const method ` as algebra::field::Field>::pow` in constant functions [INFO] [stdout] --> src/algebra/field/prime/mod.rs:200:49 [INFO] [stdout] | [INFO] [stdout] 200 | } else if PrimeField::

::new(P + 1 - i).pow(i).value != PrimeField::

::ONE.value { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: method `pow` is not const because trait `Field` is not const [INFO] [stdout] --> src/algebra/field/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | / pub trait Field: [INFO] [stdout] 19 | | std::fmt::Debug [INFO] [stdout] 20 | | + From [INFO] [stdout] 21 | | + Default [INFO] [stdout] ... | [INFO] [stdout] 39 | | + Hash [INFO] [stdout] 40 | | + 'static { [INFO] [stdout] | |___________^ this trait is not const [INFO] [stdout] ... [INFO] [stdout] 50 | fn pow(self, power: usize) -> Self; [INFO] [stdout] | ----------------------------------- this method is not const [INFO] [stdout] = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stdout] help: consider making trait `Field` const [INFO] [stdout] --> src/algebra/field/mod.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub const trait Field: [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0015, E0557. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0015`. [INFO] [stdout] [INFO] [stderr] error: could not compile `ronkathon` (lib) due to 15 previous errors; 2 warnings emitted [INFO] running `Command { std: "docker" "inspect" "a2184b7541a65e4060678487c5a37f328cdc312d2b0498779ea891167e6f123f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a2184b7541a65e4060678487c5a37f328cdc312d2b0498779ea891167e6f123f", kill_on_drop: false }` [INFO] [stdout] a2184b7541a65e4060678487c5a37f328cdc312d2b0498779ea891167e6f123f