[INFO] fetching crate sp-npos-elections 3.0.0... [INFO] testing sp-npos-elections-3.0.0 against try#8262275854dc0e5381c9d42d56257d94932c5a87 for pr-90799 [INFO] extracting crate sp-npos-elections 3.0.0 into /workspace/builds/worker-14/source [INFO] validating manifest of crates.io crate sp-npos-elections 3.0.0 on toolchain 8262275854dc0e5381c9d42d56257d94932c5a87 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8262275854dc0e5381c9d42d56257d94932c5a87" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate sp-npos-elections 3.0.0 [INFO] finished tweaking crates.io crate sp-npos-elections 3.0.0 [INFO] tweaked toml for crates.io crate sp-npos-elections 3.0.0 written to /workspace/builds/worker-14/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8262275854dc0e5381c9d42d56257d94932c5a87" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8262275854dc0e5381c9d42d56257d94932c5a87" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+8262275854dc0e5381c9d42d56257d94932c5a87" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d6c018382279cba5f26cfe6594690ce2e259c6b29632e9461a3c5fb18f7d6cab [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "d6c018382279cba5f26cfe6594690ce2e259c6b29632e9461a3c5fb18f7d6cab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d6c018382279cba5f26cfe6594690ce2e259c6b29632e9461a3c5fb18f7d6cab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d6c018382279cba5f26cfe6594690ce2e259c6b29632e9461a3c5fb18f7d6cab", kill_on_drop: false }` [INFO] [stdout] d6c018382279cba5f26cfe6594690ce2e259c6b29632e9461a3c5fb18f7d6cab [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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" "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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+8262275854dc0e5381c9d42d56257d94932c5a87" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 58fcb77cbfc2a7429c73355765a9d430c740509a3cc82cc417b101ed1f3a58f9 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "58fcb77cbfc2a7429c73355765a9d430c740509a3cc82cc417b101ed1f3a58f9", kill_on_drop: false }` [INFO] [stderr] Compiling parity-util-mem v0.9.0 [INFO] [stderr] Compiling integer-sqrt v0.1.5 [INFO] [stderr] Compiling sp-npos-elections-compact v3.0.0 [INFO] [stderr] Compiling sp-arithmetic v3.0.0 [INFO] [stderr] Compiling sp-core v3.0.0 [INFO] [stderr] Compiling sp-npos-elections v3.0.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 11.56s [INFO] running `Command { std: "docker" "inspect" "58fcb77cbfc2a7429c73355765a9d430c740509a3cc82cc417b101ed1f3a58f9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "58fcb77cbfc2a7429c73355765a9d430c740509a3cc82cc417b101ed1f3a58f9", kill_on_drop: false }` [INFO] [stdout] 58fcb77cbfc2a7429c73355765a9d430c740509a3cc82cc417b101ed1f3a58f9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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" "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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+8262275854dc0e5381c9d42d56257d94932c5a87" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6ccbd289cb9dfece2856b0744d0a803d4f6749b9fcc02f274c5bbadf1ea9a847 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "6ccbd289cb9dfece2856b0744d0a803d4f6749b9fcc02f274c5bbadf1ea9a847", kill_on_drop: false }` [INFO] [stderr] Compiling sp-npos-elections v3.0.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0432]: unresolved import `sp_runtime` [INFO] [stdout] --> src/mock.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | use sp_runtime::assert_eq_error_rate; [INFO] [stdout] | ^^^^^^^^^^ use of undeclared crate or module `sp_runtime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `substrate_test_utils` [INFO] [stdout] --> src/tests.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | use substrate_test_utils::assert_eq_uvec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ use of undeclared crate or module `substrate_test_utils` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `sp_runtime` [INFO] [stdout] --> src/phragmms.rs:227:6 [INFO] [stdout] | [INFO] [stdout] 227 | use sp_runtime::{Perbill, Percent}; [INFO] [stdout] | ^^^^^^^^^^ use of undeclared crate or module `sp_runtime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the macro `assert_eq_uvec` [INFO] [stdout] --> src/tests.rs:753:2 [INFO] [stdout] | [INFO] [stdout] 753 | assert_eq_uvec!( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the macro `assert_eq_uvec` [INFO] [stdout] --> src/tests.rs:722:2 [INFO] [stdout] | [INFO] [stdout] 722 | assert_eq_uvec!(winners, vec![ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the macro `assert_eq_uvec` [INFO] [stdout] --> src/tests.rs:645:2 [INFO] [stdout] | [INFO] [stdout] 645 | assert_eq_uvec!( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the macro `assert_eq_uvec` [INFO] [stdout] --> src/tests.rs:643:2 [INFO] [stdout] | [INFO] [stdout] 643 | assert_eq_uvec!(winners, vec![(2, 500000000005000000u128), (4, 500000000003000000)]); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the macro `assert_eq_uvec` [INFO] [stdout] --> src/tests.rs:617:2 [INFO] [stdout] | [INFO] [stdout] 617 | assert_eq_uvec!(to_without_backing(winners.clone()), vec![24, 22]); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the macro `assert_eq_uvec` [INFO] [stdout] --> src/tests.rs:582:2 [INFO] [stdout] | [INFO] [stdout] 582 | assert_eq_uvec!(winners, vec![(20, 2), (10, 1), (30, 1)]); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the macro `assert_eq_uvec` [INFO] [stdout] --> src/tests.rs:551:2 [INFO] [stdout] | [INFO] [stdout] 551 | assert_eq_uvec!(winners, vec![(20, 2), (10, 1), (30, 1)]); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the macro `assert_eq_uvec` [INFO] [stdout] --> src/tests.rs:506:2 [INFO] [stdout] | [INFO] [stdout] 506 | assert_eq_uvec!(winners, vec![(2, 36893488147419103226u128), (1, 36893488147419103219u128)]); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the macro `assert_eq_uvec` [INFO] [stdout] --> src/tests.rs:476:2 [INFO] [stdout] | [INFO] [stdout] 476 | assert_eq_uvec!(winners, vec![(1, 18446744073709551614u128), (5, 18446744073709551613u128)]); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the macro `assert_eq_uvec` [INFO] [stdout] --> src/tests.rs:378:2 [INFO] [stdout] | [INFO] [stdout] 378 | assert_eq_uvec!( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the macro `assert_eq_uvec` [INFO] [stdout] --> src/tests.rs:353:2 [INFO] [stdout] | [INFO] [stdout] 353 | assert_eq_uvec!( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the macro `assert_eq_uvec` [INFO] [stdout] --> src/tests.rs:352:2 [INFO] [stdout] | [INFO] [stdout] 352 | assert_eq_uvec!(winners, vec![(2, 30), (3, 30)]); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the macro `assert_eq_uvec` [INFO] [stdout] --> src/tests.rs:304:2 [INFO] [stdout] | [INFO] [stdout] 304 | assert_eq_uvec!( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the macro `assert_eq_uvec` [INFO] [stdout] --> src/tests.rs:279:2 [INFO] [stdout] | [INFO] [stdout] 279 | assert_eq_uvec!( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the macro `assert_eq_uvec` [INFO] [stdout] --> src/tests.rs:278:2 [INFO] [stdout] | [INFO] [stdout] 278 | assert_eq_uvec!(winners, vec![(2, 25), (3, 35)]); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the macro `assert_eq_uvec` [INFO] [stdout] --> src/tests.rs:42:2 [INFO] [stdout] | [INFO] [stdout] 42 | assert_eq_uvec!( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the macro `assert_eq_uvec` [INFO] [stdout] --> src/tests.rs:41:2 [INFO] [stdout] | [INFO] [stdout] 41 | assert_eq_uvec!(winners, vec![(2, 40), (3, 50)]); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the macro `assert_eq_error_rate` [INFO] [stdout] --> src/mock.rs:347:6 [INFO] [stdout] | [INFO] [stdout] 347 | assert_eq_error_rate!( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `One` [INFO] [stdout] --> src/mock.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | traits::{One, SaturatedConversion, Zero}, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `std::vec::Vec<{integer}>` [INFO] [stdout] --> src/phragmms.rs:340:49 [INFO] [stdout] | [INFO] [stdout] 333 | let candidates = vec![1, 2, 3]; [INFO] [stdout] | ---------- consider giving `candidates` the explicit type `std::vec::Vec<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 340 | let ElectionResult { winners, assignments } = phragmms::<_, Perbill>(2, candidates, voters, Some((2, 0))).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Decode` found in the `parity_scale_codec` crate: [INFO] [stdout] - impl Decode for i128; [INFO] [stdout] - impl Decode for i16; [INFO] [stdout] - impl Decode for i32; [INFO] [stdout] - impl Decode for i64; [INFO] [stdout] and 6 more [INFO] [stdout] = note: required because of the requirements on the impl of `Codec` for `{integer}` [INFO] [stdout] note: required because of the requirements on the impl of `IdentifierT` for `{integer}` [INFO] [stdout] --> src/lib.rs:226:60 [INFO] [stdout] | [INFO] [stdout] 226 | impl IdentifierT for T {} [INFO] [stdout] | ^^^^^^^^^^^ ^ [INFO] [stdout] note: required by a bound in `phragmms::phragmms` [INFO] [stdout] --> src/phragmms.rs:44:28 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn phragmms( [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `phragmms::phragmms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `std::vec::Vec<{integer}>` [INFO] [stdout] --> src/phragmms.rs:340:49 [INFO] [stdout] | [INFO] [stdout] 333 | let candidates = vec![1, 2, 3]; [INFO] [stdout] | ---------- consider giving `candidates` the explicit type `std::vec::Vec<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 340 | let ElectionResult { winners, assignments } = phragmms::<_, Perbill>(2, candidates, voters, Some((2, 0))).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Encode` found in the `parity_scale_codec` crate: [INFO] [stdout] - impl Encode for i128; [INFO] [stdout] - impl Encode for i16; [INFO] [stdout] - impl Encode for i32; [INFO] [stdout] - impl Encode for i64; [INFO] [stdout] and 6 more [INFO] [stdout] = note: required because of the requirements on the impl of `Codec` for `{integer}` [INFO] [stdout] note: required because of the requirements on the impl of `IdentifierT` for `{integer}` [INFO] [stdout] --> src/lib.rs:226:60 [INFO] [stdout] | [INFO] [stdout] 226 | impl IdentifierT for T {} [INFO] [stdout] | ^^^^^^^^^^^ ^ [INFO] [stdout] note: required by a bound in `phragmms::phragmms` [INFO] [stdout] --> src/phragmms.rs:44:28 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn phragmms( [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `phragmms::phragmms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `std::vec::Vec<{integer}>` [INFO] [stdout] --> src/phragmms.rs:377:52 [INFO] [stdout] | [INFO] [stdout] 366 | let candidates = vec![11, 21, 31, 41, 51, 61, 71]; [INFO] [stdout] | ---------- consider giving `candidates` the explicit type `std::vec::Vec<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 377 | let ElectionResult { winners, assignments: _ } = phragmms::<_, Perbill>(4, candidates, voters, Some((2, 0))).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Decode` found in the `parity_scale_codec` crate: [INFO] [stdout] - impl Decode for i128; [INFO] [stdout] - impl Decode for i16; [INFO] [stdout] - impl Decode for i32; [INFO] [stdout] - impl Decode for i64; [INFO] [stdout] and 6 more [INFO] [stdout] = note: required because of the requirements on the impl of `Codec` for `{integer}` [INFO] [stdout] note: required because of the requirements on the impl of `IdentifierT` for `{integer}` [INFO] [stdout] --> src/lib.rs:226:60 [INFO] [stdout] | [INFO] [stdout] 226 | impl IdentifierT for T {} [INFO] [stdout] | ^^^^^^^^^^^ ^ [INFO] [stdout] note: required by a bound in `phragmms::phragmms` [INFO] [stdout] --> src/phragmms.rs:44:28 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn phragmms( [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `phragmms::phragmms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `std::vec::Vec<{integer}>` [INFO] [stdout] --> src/phragmms.rs:377:52 [INFO] [stdout] | [INFO] [stdout] 366 | let candidates = vec![11, 21, 31, 41, 51, 61, 71]; [INFO] [stdout] | ---------- consider giving `candidates` the explicit type `std::vec::Vec<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 377 | let ElectionResult { winners, assignments: _ } = phragmms::<_, Perbill>(4, candidates, voters, Some((2, 0))).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Encode` found in the `parity_scale_codec` crate: [INFO] [stdout] - impl Encode for i128; [INFO] [stdout] - impl Encode for i16; [INFO] [stdout] - impl Encode for i32; [INFO] [stdout] - impl Encode for i64; [INFO] [stdout] and 6 more [INFO] [stdout] = note: required because of the requirements on the impl of `Codec` for `{integer}` [INFO] [stdout] note: required because of the requirements on the impl of `IdentifierT` for `{integer}` [INFO] [stdout] --> src/lib.rs:226:60 [INFO] [stdout] | [INFO] [stdout] 226 | impl IdentifierT for T {} [INFO] [stdout] | ^^^^^^^^^^^ ^ [INFO] [stdout] note: required by a bound in `phragmms::phragmms` [INFO] [stdout] --> src/phragmms.rs:44:28 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn phragmms( [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `phragmms::phragmms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 25 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0283, E0432. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0283`. [INFO] [stdout] [INFO] [stderr] error: could not compile `sp-npos-elections` due to 26 previous errors; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "6ccbd289cb9dfece2856b0744d0a803d4f6749b9fcc02f274c5bbadf1ea9a847", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6ccbd289cb9dfece2856b0744d0a803d4f6749b9fcc02f274c5bbadf1ea9a847", kill_on_drop: false }` [INFO] [stdout] 6ccbd289cb9dfece2856b0744d0a803d4f6749b9fcc02f274c5bbadf1ea9a847