[INFO] fetching crate fixed-num 0.2.0... [INFO] testing fixed-num-0.2.0 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate fixed-num 0.2.0 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate fixed-num 0.2.0 [INFO] finished tweaking crates.io crate fixed-num 0.2.0 [INFO] tweaked toml for crates.io crate fixed-num 0.2.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate fixed-num 0.2.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 fixed-num 0.2.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] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded fixed-num-macro v0.2.0 [INFO] [stderr] Downloaded fixed-num-helper v0.2.0 [INFO] [stderr] Downloaded fixed-num-validator v0.2.0 [INFO] [stderr] Downloaded ethnum v1.5.1 [INFO] [stderr] Downloaded rand v0.9.0 [INFO] [stderr] Downloaded arrow-buffer v55.0.0 [INFO] [stderr] Downloaded bigdecimal v0.4.8 [INFO] [stderr] Downloaded libm v0.2.11 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 03fcd3b7e9a04958363374e841ff4439e3ebd293213bdd9b7624953ff7112464 [INFO] running `Command { std: "docker" "start" "-a" "03fcd3b7e9a04958363374e841ff4439e3ebd293213bdd9b7624953ff7112464", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "03fcd3b7e9a04958363374e841ff4439e3ebd293213bdd9b7624953ff7112464", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "03fcd3b7e9a04958363374e841ff4439e3ebd293213bdd9b7624953ff7112464", kill_on_drop: false }` [INFO] [stdout] 03fcd3b7e9a04958363374e841ff4439e3ebd293213bdd9b7624953ff7112464 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] b66c6c6fd44b2ab67b22a971a795f3c8d600a55f14c7ee38c02bd38aae4c90a2 [INFO] running `Command { std: "docker" "start" "-a" "b66c6c6fd44b2ab67b22a971a795f3c8d600a55f14c7ee38c02bd38aae4c90a2", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.24 [INFO] [stderr] Compiling proc-macro2 v1.0.94 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling fixed-num-helper v0.2.0 [INFO] [stderr] Compiling fixed-num v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling ethnum v1.5.1 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling fixed-num-macro v0.2.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.0 [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:70:21 [INFO] [stdout] | [INFO] [stdout] 70 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:86:21 [INFO] [stdout] | [INFO] [stdout] 86 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:107:21 [INFO] [stdout] | [INFO] [stdout] 107 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:123:21 [INFO] [stdout] | [INFO] [stdout] 123 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:137:21 [INFO] [stdout] | [INFO] [stdout] 137 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:148:21 [INFO] [stdout] | [INFO] [stdout] 148 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:159:21 [INFO] [stdout] | [INFO] [stdout] 159 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:174:21 [INFO] [stdout] | [INFO] [stdout] 174 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:196:21 [INFO] [stdout] | [INFO] [stdout] 196 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:211:21 [INFO] [stdout] | [INFO] [stdout] 211 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:222:21 [INFO] [stdout] | [INFO] [stdout] 222 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:233:21 [INFO] [stdout] | [INFO] [stdout] 233 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:248:21 [INFO] [stdout] | [INFO] [stdout] 248 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:259:21 [INFO] [stdout] | [INFO] [stdout] 259 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:271:21 [INFO] [stdout] | [INFO] [stdout] 271 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:286:21 [INFO] [stdout] | [INFO] [stdout] 286 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:296:21 [INFO] [stdout] | [INFO] [stdout] 296 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:311:21 [INFO] [stdout] | [INFO] [stdout] 311 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:322:21 [INFO] [stdout] | [INFO] [stdout] 322 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:337:21 [INFO] [stdout] | [INFO] [stdout] 337 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:348:21 [INFO] [stdout] | [INFO] [stdout] 348 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:370:21 [INFO] [stdout] | [INFO] [stdout] 370 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:382:21 [INFO] [stdout] | [INFO] [stdout] 382 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:396:21 [INFO] [stdout] | [INFO] [stdout] 396 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:406:21 [INFO] [stdout] | [INFO] [stdout] 406 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:420:21 [INFO] [stdout] | [INFO] [stdout] 420 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:431:21 [INFO] [stdout] | [INFO] [stdout] 431 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:446:21 [INFO] [stdout] | [INFO] [stdout] 446 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:457:21 [INFO] [stdout] | [INFO] [stdout] 457 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:471:21 [INFO] [stdout] | [INFO] [stdout] 471 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/ops.rs:481:21 [INFO] [stdout] | [INFO] [stdout] 481 | #[cfg_attr(nightly, const_trait)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `HasMax` which is not `const` [INFO] [stdout] --> src/dec19x19.rs:371:6 [INFO] [stdout] | [INFO] [stdout] 371 | impl HasMax for Dec19x19 { [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 `HasMax` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/ops.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | pub const trait HasMax: Sized { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `HasMin` which is not `const` [INFO] [stdout] --> src/dec19x19.rs:385:6 [INFO] [stdout] | [INFO] [stdout] 385 | impl HasMin for Dec19x19 { [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 `HasMin` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/ops.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | pub const trait HasMin: Sized { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `Signum` which is not `const` [INFO] [stdout] --> src/dec19x19.rs:410:6 [INFO] [stdout] | [INFO] [stdout] 410 | impl Signum for Dec19x19 { [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 `Signum` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/ops.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | pub const trait Signum { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `Abs` which is not `const` [INFO] [stdout] --> src/dec19x19.rs:470:6 [INFO] [stdout] | [INFO] [stdout] 470 | impl Abs for Dec19x19 { [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 `Abs` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/ops.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 124 | pub const trait Abs { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `UncheckedAdd` which is not `const` [INFO] [stdout] --> src/dec19x19.rs:553:19 [INFO] [stdout] | [INFO] [stdout] 553 | const_impl!{ impl UncheckedAdd for Dec19x19 { [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 `UncheckedAdd` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/ops.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | pub const trait UncheckedAdd { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `CheckedAdd` which is not `const` [INFO] [stdout] --> src/dec19x19.rs:562:19 [INFO] [stdout] | [INFO] [stdout] 562 | const_impl!{ impl CheckedAdd for Dec19x19 { [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 `CheckedAdd` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/ops.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | pub const trait CheckedAdd { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `SaturatingAdd` which is not `const` [INFO] [stdout] --> src/dec19x19.rs:586:6 [INFO] [stdout] | [INFO] [stdout] 586 | impl SaturatingAdd for Dec19x19 { [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 `SaturatingAdd` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/ops.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | pub const trait SaturatingAdd { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `UncheckedSub` which is not `const` [INFO] [stdout] --> src/dec19x19.rs:647:19 [INFO] [stdout] | [INFO] [stdout] 647 | const_impl!{ impl UncheckedSub for Dec19x19 { [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 `UncheckedSub` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/ops.rs:175:5 [INFO] [stdout] | [INFO] [stdout] 175 | pub const trait UncheckedSub { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `CheckedSub` which is not `const` [INFO] [stdout] --> src/dec19x19.rs:656:19 [INFO] [stdout] | [INFO] [stdout] 656 | const_impl!{ impl CheckedSub for Dec19x19 { [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 `CheckedSub` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/ops.rs:186:5 [INFO] [stdout] | [INFO] [stdout] 186 | pub const trait CheckedSub { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `SaturatingSub` which is not `const` [INFO] [stdout] --> src/dec19x19.rs:681:6 [INFO] [stdout] | [INFO] [stdout] 681 | impl SaturatingSub for Dec19x19 { [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 `SaturatingSub` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/ops.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 197 | pub const trait SaturatingSub { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `Trunc` which is not `const` [INFO] [stdout] --> src/dec19x19.rs:1101:19 [INFO] [stdout] | [INFO] [stdout] 1101 | const_impl!{ impl Trunc for Dec19x19 { [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 `Trunc` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/ops.rs:287:5 [INFO] [stdout] | [INFO] [stdout] 287 | pub const trait Trunc { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `TruncTo` which is not `const` [INFO] [stdout] --> src/dec19x19.rs:1109:19 [INFO] [stdout] | [INFO] [stdout] 1109 | const_impl!{ impl TruncTo for Dec19x19 { [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 `TruncTo` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/ops.rs:297:5 [INFO] [stdout] | [INFO] [stdout] 297 | pub const trait TruncTo { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `Floor` which is not `const` [INFO] [stdout] --> src/dec19x19.rs:1173:19 [INFO] [stdout] | [INFO] [stdout] 1173 | const_impl!{ impl Floor for Dec19x19 { [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 `Floor` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/ops.rs:312:5 [INFO] [stdout] | [INFO] [stdout] 312 | pub const trait Floor { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `FloorTo` which is not `const` [INFO] [stdout] --> src/dec19x19.rs:1181:19 [INFO] [stdout] | [INFO] [stdout] 1181 | const_impl!{ impl FloorTo for Dec19x19 { [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 `FloorTo` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/ops.rs:323:5 [INFO] [stdout] | [INFO] [stdout] 323 | pub const trait FloorTo { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `Ceil` which is not `const` [INFO] [stdout] --> src/dec19x19.rs:1246:19 [INFO] [stdout] | [INFO] [stdout] 1246 | const_impl!{ impl Ceil for Dec19x19 { [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 `Ceil` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/ops.rs:338:5 [INFO] [stdout] | [INFO] [stdout] 338 | pub const trait Ceil { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `CeilTo` which is not `const` [INFO] [stdout] --> src/dec19x19.rs:1254:19 [INFO] [stdout] | [INFO] [stdout] 1254 | const_impl!{ impl CeilTo for Dec19x19 { [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 `CeilTo` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/ops.rs:349:5 [INFO] [stdout] | [INFO] [stdout] 349 | pub const trait CeilTo { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `Round` which is not `const` [INFO] [stdout] --> src/dec19x19.rs:1380:19 [INFO] [stdout] | [INFO] [stdout] 1380 | const_impl!{ impl Round for Dec19x19 { [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 `Round` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/ops.rs:371:5 [INFO] [stdout] | [INFO] [stdout] 371 | pub const trait Round { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `RoundTo` which is not `const` [INFO] [stdout] --> src/dec19x19.rs:1388:19 [INFO] [stdout] | [INFO] [stdout] 1388 | const_impl!{ impl RoundTo for Dec19x19 { [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 `RoundTo` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/ops.rs:383:5 [INFO] [stdout] | [INFO] [stdout] 383 | pub const trait RoundTo { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `UncheckedLog10Floor` which is not `const` [INFO] [stdout] --> src/dec19x19.rs:1491:6 [INFO] [stdout] | [INFO] [stdout] 1491 | impl UncheckedLog10Floor for Dec19x19 { [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 `UncheckedLog10Floor` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/ops.rs:447:5 [INFO] [stdout] | [INFO] [stdout] 447 | pub const trait UncheckedLog10Floor { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `CheckedLog10Floor` which is not `const` [INFO] [stdout] --> src/dec19x19.rs:1501:19 [INFO] [stdout] | [INFO] [stdout] 1501 | const_impl!{ impl CheckedLog10Floor for Dec19x19 { [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 `CheckedLog10Floor` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/ops.rs:458:5 [INFO] [stdout] | [INFO] [stdout] 458 | pub const trait CheckedLog10Floor: Sized { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const method `::signum_i128` in constant functions [INFO] [stdout] --> src/dec19x19.rs:413:27 [INFO] [stdout] | [INFO] [stdout] 413 | Self { repr: self.signum_i128() * FRAC_SCALE_I128 } [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: method `signum_i128` is not const because trait `Signum` is not const [INFO] [stdout] --> src/ops.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | pub trait Signum { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ this trait is not const [INFO] [stdout] 109 | fn signum(self) -> Self; [INFO] [stdout] 110 | fn signum_i128(self) -> i128; [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 `Signum` const [INFO] [stdout] --> src/ops.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | pub const trait Signum { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const method `::is_min` in constant functions [INFO] [stdout] --> src/dec19x19.rs:473:17 [INFO] [stdout] | [INFO] [stdout] 473 | if self.is_min() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: method `is_min` is not const because trait `HasMin` is not const [INFO] [stdout] --> src/ops.rs:87:1 [INFO] [stdout] | [INFO] [stdout] 87 | pub trait HasMin: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ this trait is not const [INFO] [stdout] ... [INFO] [stdout] 90 | fn is_min(self) -> bool; [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 `HasMin` const [INFO] [stdout] --> src/ops.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | pub const trait HasMin: Sized { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const method `::checked_add` in constant functions [INFO] [stdout] --> src/dec19x19.rs:591:36 [INFO] [stdout] | [INFO] [stdout] 591 | if let Some(result) = self.checked_add(rhs) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: method `checked_add` is not const because trait `CheckedAdd` is not const [INFO] [stdout] --> src/ops.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | pub trait CheckedAdd { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this trait is not const [INFO] [stdout] 150 | type Output; [INFO] [stdout] 151 | fn checked_add(self, rhs: Rhs) -> Option; [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 `CheckedAdd` const [INFO] [stdout] --> src/ops.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | pub const trait CheckedAdd { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const method `::signum_i128` in constant functions [INFO] [stdout] --> src/dec19x19.rs:593:24 [INFO] [stdout] | [INFO] [stdout] 593 | } else if self.signum_i128() >= 0 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: method `signum_i128` is not const because trait `Signum` is not const [INFO] [stdout] --> src/ops.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | pub trait Signum { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ this trait is not const [INFO] [stdout] 109 | fn signum(self) -> Self; [INFO] [stdout] 110 | fn signum_i128(self) -> i128; [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 `Signum` const [INFO] [stdout] --> src/ops.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | pub const trait Signum { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const method `::checked_sub` in constant functions [INFO] [stdout] --> src/dec19x19.rs:686:36 [INFO] [stdout] | [INFO] [stdout] 686 | if let Some(result) = self.checked_sub(rhs) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: method `checked_sub` is not const because trait `CheckedSub` is not const [INFO] [stdout] --> src/ops.rs:186:1 [INFO] [stdout] | [INFO] [stdout] 186 | pub trait CheckedSub { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this trait is not const [INFO] [stdout] 187 | type Output; [INFO] [stdout] 188 | fn checked_sub(self, rhs: Rhs) -> Option; [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 `CheckedSub` const [INFO] [stdout] --> src/ops.rs:186:5 [INFO] [stdout] | [INFO] [stdout] 186 | pub const trait CheckedSub { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const method `::signum_i128` in constant functions [INFO] [stdout] --> src/dec19x19.rs:688:24 [INFO] [stdout] | [INFO] [stdout] 688 | } else if self.signum_i128() >= 0 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: method `signum_i128` is not const because trait `Signum` is not const [INFO] [stdout] --> src/ops.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | pub trait Signum { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ this trait is not const [INFO] [stdout] 109 | fn signum(self) -> Self; [INFO] [stdout] 110 | fn signum_i128(self) -> i128; [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 `Signum` const [INFO] [stdout] --> src/ops.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | pub const trait Signum { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const method `::unchecked_log10_floor` in constant functions [INFO] [stdout] --> src/dec19x19.rs:1506:23 [INFO] [stdout] | [INFO] [stdout] 1506 | Some(self.unchecked_log10_floor()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: method `unchecked_log10_floor` is not const because trait `UncheckedLog10Floor` is not const [INFO] [stdout] --> src/ops.rs:447:1 [INFO] [stdout] | [INFO] [stdout] 447 | pub trait UncheckedLog10Floor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this trait is not const [INFO] [stdout] 448 | fn unchecked_log10_floor(self) -> 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 `UncheckedLog10Floor` const [INFO] [stdout] --> src/ops.rs:447:5 [INFO] [stdout] | [INFO] [stdout] 447 | pub const trait UncheckedLog10Floor { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0015`. [INFO] [stdout] [INFO] [stderr] error: could not compile `fixed-num` (lib) due to 59 previous errors [INFO] running `Command { std: "docker" "inspect" "b66c6c6fd44b2ab67b22a971a795f3c8d600a55f14c7ee38c02bd38aae4c90a2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b66c6c6fd44b2ab67b22a971a795f3c8d600a55f14c7ee38c02bd38aae4c90a2", kill_on_drop: false }` [INFO] [stdout] b66c6c6fd44b2ab67b22a971a795f3c8d600a55f14c7ee38c02bd38aae4c90a2