[INFO] fetching crate aligner 0.1.6... [INFO] testing aligner-0.1.6 against beta-2022-04-10 for beta-1.61-1 [INFO] extracting crate aligner 0.1.6 into /workspace/builds/worker-6/source [INFO] validating manifest of crates.io crate aligner 0.1.6 on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate aligner 0.1.6 [INFO] finished tweaking crates.io crate aligner 0.1.6 [INFO] tweaked toml for crates.io crate aligner 0.1.6 written to /workspace/builds/worker-6/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3b1a6cb0b5ee7bcf9635c5d2277af8f531749f977d16eb2d6490e5fc4f5ff223 [INFO] running `Command { std: "docker" "start" "-a" "3b1a6cb0b5ee7bcf9635c5d2277af8f531749f977d16eb2d6490e5fc4f5ff223", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3b1a6cb0b5ee7bcf9635c5d2277af8f531749f977d16eb2d6490e5fc4f5ff223", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3b1a6cb0b5ee7bcf9635c5d2277af8f531749f977d16eb2d6490e5fc4f5ff223", kill_on_drop: false }` [INFO] [stdout] 3b1a6cb0b5ee7bcf9635c5d2277af8f531749f977d16eb2d6490e5fc4f5ff223 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3e789396bed73eb5c43755548f1ac3bf2c0204698d43b7a52cf42a626e2c5f46 [INFO] running `Command { std: "docker" "start" "-a" "3e789396bed73eb5c43755548f1ac3bf2c0204698d43b7a52cf42a626e2c5f46", kill_on_drop: false }` [INFO] [stderr] Compiling encoding_index_tests v0.1.4 [INFO] [stderr] Compiling regex v0.2.11 [INFO] [stderr] Compiling ucd-util v0.1.8 [INFO] [stderr] Compiling crossbeam-utils v0.8.8 [INFO] [stderr] Compiling utf8-ranges v1.0.5 [INFO] [stderr] Compiling ascii v0.7.1 [INFO] [stderr] Compiling nom v2.1.0 [INFO] [stderr] Compiling unicode-width v0.1.9 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling semver v1.0.7 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling thread_local v0.3.6 [INFO] [stderr] Compiling itertools v0.6.5 [INFO] [stderr] Compiling object v0.27.1 [INFO] [stderr] Compiling aho-corasick v0.6.10 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling log v0.3.9 [INFO] [stderr] Compiling encoding-index-japanese v1.20141219.5 [INFO] [stderr] Compiling encoding-index-tradchinese v1.20141219.5 [INFO] [stderr] Compiling encoding-index-korean v1.20141219.5 [INFO] [stderr] Compiling encoding-index-simpchinese v1.20141219.5 [INFO] [stderr] Compiling encoding-index-singlebyte v1.20141219.5 [INFO] [stderr] Compiling enum_primitive v0.1.1 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling regex-syntax v0.5.6 [INFO] [stderr] Compiling combine v2.5.2 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Compiling encoding v0.2.33 [INFO] [stderr] Compiling cast v0.2.7 [INFO] [stderr] Compiling crossbeam-channel v0.5.4 [INFO] [stderr] Compiling num-rational v0.1.42 [INFO] [stderr] Compiling image v0.13.0 [INFO] [stderr] Compiling pbr v1.0.4 [INFO] [stderr] Compiling backtrace v0.3.64 [INFO] [stderr] Compiling error-chain v0.10.0 [INFO] [stderr] Compiling vobsub v0.2.3 [INFO] [stderr] Compiling subparse v0.3.0 [INFO] [stderr] Compiling aligner v0.1.6 (/opt/rustwide/workdir) [INFO] [stdout] warning: unknown lint: `collapsible_if` [INFO] [stdout] --> src/internal/utils.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | #[allow(collapsible_if)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unknown_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unknown lint: `collapsible_if` [INFO] [stdout] --> src/internal/utils.rs:215:17 [INFO] [stdout] | [INFO] [stdout] 215 | #[allow(collapsible_if)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unknown lint: `if_same_then_else` [INFO] [stdout] --> src/internal/utils.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | #[allow(if_same_then_else)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/internal/rating_type.rs:27:40 [INFO] [stdout] | [INFO] [stdout] 27 | const RATING_PRECISION: RatingIntern = (1 << 32); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 27 - const RATING_PRECISION: RatingIntern = (1 << 32); [INFO] [stdout] 27 + const RATING_PRECISION: RatingIntern = 1 << 32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:66:34 [INFO] [stdout] | [INFO] [stdout] 66 | progress_handler: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 - progress_handler: Option>, [INFO] [stdout] 66 + progress_handler: Option>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/internal/aligner.rs:72:38 [INFO] [stdout] | [INFO] [stdout] 72 | progress_handler_opt: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [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] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 72 - progress_handler_opt: Option>, [INFO] [stdout] 72 + progress_handler_opt: Option>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/internal/aligner.rs:110:46 [INFO] [stdout] | [INFO] [stdout] 110 | mut progress_handler_opt: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [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] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 110 - mut progress_handler_opt: Option>, [INFO] [stdout] 110 + mut progress_handler_opt: Option>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/aligner.rs:398:30 [INFO] [stdout] | [INFO] [stdout] 398 | ... .into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 398 | .iter() [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 397 | IntoIterator::into_iter([(reposition_rating_seg, Choice::Reposition)]) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/aligner.rs:407:30 [INFO] [stdout] | [INFO] [stdout] 407 | ... .into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 407 | .iter() [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 406 | IntoIterator::into_iter([(nosplit_rating_seg, Choice::NosplitReposition)]) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/aligner.rs:414:84 [INFO] [stdout] | [INFO] [stdout] 414 | return ArrayVec::from_iter([(fixed_rating_seg, Choice::Fixed)].into_iter().cloned()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 414 | return ArrayVec::from_iter([(fixed_rating_seg, Choice::Fixed)].iter().cloned()); [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 414 | return ArrayVec::from_iter(IntoIterator::into_iter([(fixed_rating_seg, Choice::Fixed)]).cloned()); [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/aligner.rs:488:58 [INFO] [stdout] | [INFO] [stdout] 488 | let mut iterators: ArrayVec<[_; 4]> = timepoints.into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 488 | let mut iterators: ArrayVec<[_; 4]> = timepoints.iter() [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 488 | let mut iterators: ArrayVec<[_; 4]> = IntoIterator::into_iter(timepoints) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/utils.rs:72:41 [INFO] [stdout] | [INFO] [stdout] 72 | 0 => ArrayVec::from_iter([prev].into_iter().cloned()), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 72 | 0 => ArrayVec::from_iter([prev].iter().cloned()), [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 72 | 0 => ArrayVec::from_iter(IntoIterator::into_iter([prev]).cloned()), [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/utils.rs:73:41 [INFO] [stdout] | [INFO] [stdout] 73 | 1 => ArrayVec::from_iter([prev].into_iter().cloned().chain(a.into_iter())), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 73 | 1 => ArrayVec::from_iter([prev].iter().cloned().chain(a.into_iter())), [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 73 | 1 => ArrayVec::from_iter(IntoIterator::into_iter([prev]).cloned().chain(a.into_iter())), [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/utils.rs:76:44 [INFO] [stdout] | [INFO] [stdout] 76 | ArrayVec::from_iter([prev].into_iter().cloned().chain(a.into_iter())) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 76 | ArrayVec::from_iter([prev].iter().cloned().chain(a.into_iter())) [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 76 | ArrayVec::from_iter(IntoIterator::into_iter([prev]).cloned().chain(a.into_iter())) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/utils.rs:78:44 [INFO] [stdout] | [INFO] [stdout] 78 | ArrayVec::from_iter([prev].into_iter().cloned().chain(a.into_iter().rev())) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 78 | ArrayVec::from_iter([prev].iter().cloned().chain(a.into_iter().rev())) [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 78 | ArrayVec::from_iter(IntoIterator::into_iter([prev]).cloned().chain(a.into_iter().rev())) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 15 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/binary/errors.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / error_chain! { [INFO] [stdout] 23 | | foreign_links { [INFO] [stdout] 24 | | Io(::std::io::Error); [INFO] [stdout] 25 | | } [INFO] [stdout] ... | [INFO] [stdout] 57 | | } [INFO] [stdout] 58 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/binary/errors.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / error_chain! { [INFO] [stdout] 23 | | foreign_links { [INFO] [stdout] 24 | | Io(::std::io::Error); [INFO] [stdout] 25 | | } [INFO] [stdout] ... | [INFO] [stdout] 57 | | } [INFO] [stdout] 58 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 11.09s [INFO] running `Command { std: "docker" "inspect" "3e789396bed73eb5c43755548f1ac3bf2c0204698d43b7a52cf42a626e2c5f46", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3e789396bed73eb5c43755548f1ac3bf2c0204698d43b7a52cf42a626e2c5f46", kill_on_drop: false }` [INFO] [stdout] 3e789396bed73eb5c43755548f1ac3bf2c0204698d43b7a52cf42a626e2c5f46 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e01b9b2cfd039937cf94ef80beb0a6595c4240a864aad7331e0f048a3712a9fe [INFO] running `Command { std: "docker" "start" "-a" "e01b9b2cfd039937cf94ef80beb0a6595c4240a864aad7331e0f048a3712a9fe", kill_on_drop: false }` [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stdout] warning: unknown lint: `collapsible_if` [INFO] [stdout] --> src/internal/utils.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | #[allow(collapsible_if)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unknown_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unknown lint: `collapsible_if` [INFO] [stdout] --> src/internal/utils.rs:215:17 [INFO] [stdout] | [INFO] [stdout] 215 | #[allow(collapsible_if)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unknown lint: `if_same_then_else` [INFO] [stdout] --> src/internal/utils.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | #[allow(if_same_then_else)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/internal/rating_type.rs:27:40 [INFO] [stdout] | [INFO] [stdout] 27 | const RATING_PRECISION: RatingIntern = (1 << 32); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 27 - const RATING_PRECISION: RatingIntern = (1 << 32); [INFO] [stdout] 27 + const RATING_PRECISION: RatingIntern = 1 << 32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:66:34 [INFO] [stdout] | [INFO] [stdout] 66 | progress_handler: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 - progress_handler: Option>, [INFO] [stdout] 66 + progress_handler: Option>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/internal/aligner.rs:72:38 [INFO] [stdout] | [INFO] [stdout] 72 | progress_handler_opt: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [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] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 72 - progress_handler_opt: Option>, [INFO] [stdout] 72 + progress_handler_opt: Option>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/internal/aligner.rs:110:46 [INFO] [stdout] | [INFO] [stdout] 110 | mut progress_handler_opt: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [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] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 110 - mut progress_handler_opt: Option>, [INFO] [stdout] 110 + mut progress_handler_opt: Option>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/aligner.rs:398:30 [INFO] [stdout] | [INFO] [stdout] 398 | ... .into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 398 | .iter() [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 397 | IntoIterator::into_iter([(reposition_rating_seg, Choice::Reposition)]) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/aligner.rs:407:30 [INFO] [stdout] | [INFO] [stdout] 407 | ... .into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 407 | .iter() [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 406 | IntoIterator::into_iter([(nosplit_rating_seg, Choice::NosplitReposition)]) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/aligner.rs:414:84 [INFO] [stdout] | [INFO] [stdout] 414 | return ArrayVec::from_iter([(fixed_rating_seg, Choice::Fixed)].into_iter().cloned()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 414 | return ArrayVec::from_iter([(fixed_rating_seg, Choice::Fixed)].iter().cloned()); [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 414 | return ArrayVec::from_iter(IntoIterator::into_iter([(fixed_rating_seg, Choice::Fixed)]).cloned()); [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/aligner.rs:488:58 [INFO] [stdout] | [INFO] [stdout] 488 | let mut iterators: ArrayVec<[_; 4]> = timepoints.into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 488 | let mut iterators: ArrayVec<[_; 4]> = timepoints.iter() [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 488 | let mut iterators: ArrayVec<[_; 4]> = IntoIterator::into_iter(timepoints) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/utils.rs:72:41 [INFO] [stdout] | [INFO] [stdout] 72 | 0 => ArrayVec::from_iter([prev].into_iter().cloned()), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 72 | 0 => ArrayVec::from_iter([prev].iter().cloned()), [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 72 | 0 => ArrayVec::from_iter(IntoIterator::into_iter([prev]).cloned()), [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/utils.rs:73:41 [INFO] [stdout] | [INFO] [stdout] 73 | 1 => ArrayVec::from_iter([prev].into_iter().cloned().chain(a.into_iter())), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 73 | 1 => ArrayVec::from_iter([prev].iter().cloned().chain(a.into_iter())), [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 73 | 1 => ArrayVec::from_iter(IntoIterator::into_iter([prev]).cloned().chain(a.into_iter())), [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/utils.rs:76:44 [INFO] [stdout] | [INFO] [stdout] 76 | ArrayVec::from_iter([prev].into_iter().cloned().chain(a.into_iter())) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 76 | ArrayVec::from_iter([prev].iter().cloned().chain(a.into_iter())) [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 76 | ArrayVec::from_iter(IntoIterator::into_iter([prev]).cloned().chain(a.into_iter())) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/utils.rs:78:44 [INFO] [stdout] | [INFO] [stdout] 78 | ArrayVec::from_iter([prev].into_iter().cloned().chain(a.into_iter().rev())) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 78 | ArrayVec::from_iter([prev].iter().cloned().chain(a.into_iter().rev())) [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 78 | ArrayVec::from_iter(IntoIterator::into_iter([prev]).cloned().chain(a.into_iter().rev())) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 15 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rand v0.3.23 [INFO] [stderr] Compiling aligner v0.1.6 (/opt/rustwide/workdir) [INFO] [stdout] warning: unknown lint: `collapsible_if` [INFO] [stdout] --> src/internal/utils.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | #[allow(collapsible_if)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unknown_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unknown lint: `collapsible_if` [INFO] [stdout] --> src/internal/utils.rs:215:17 [INFO] [stdout] | [INFO] [stdout] 215 | #[allow(collapsible_if)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unknown lint: `if_same_then_else` [INFO] [stdout] --> src/internal/utils.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | #[allow(if_same_then_else)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/internal/rating_type.rs:27:40 [INFO] [stdout] | [INFO] [stdout] 27 | const RATING_PRECISION: RatingIntern = (1 << 32); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 27 - const RATING_PRECISION: RatingIntern = (1 << 32); [INFO] [stdout] 27 + const RATING_PRECISION: RatingIntern = 1 << 32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:66:34 [INFO] [stdout] | [INFO] [stdout] 66 | progress_handler: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 - progress_handler: Option>, [INFO] [stdout] 66 + progress_handler: Option>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/internal/aligner.rs:72:38 [INFO] [stdout] | [INFO] [stdout] 72 | progress_handler_opt: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [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] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 72 - progress_handler_opt: Option>, [INFO] [stdout] 72 + progress_handler_opt: Option>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/internal/aligner.rs:110:46 [INFO] [stdout] | [INFO] [stdout] 110 | mut progress_handler_opt: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [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] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 110 - mut progress_handler_opt: Option>, [INFO] [stdout] 110 + mut progress_handler_opt: Option>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/binary/errors.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / error_chain! { [INFO] [stdout] 23 | | foreign_links { [INFO] [stdout] 24 | | Io(::std::io::Error); [INFO] [stdout] 25 | | } [INFO] [stdout] ... | [INFO] [stdout] 57 | | } [INFO] [stdout] 58 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/binary/errors.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / error_chain! { [INFO] [stdout] 23 | | foreign_links { [INFO] [stdout] 24 | | Io(::std::io::Error); [INFO] [stdout] 25 | | } [INFO] [stdout] ... | [INFO] [stdout] 57 | | } [INFO] [stdout] 58 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/aligner.rs:398:30 [INFO] [stdout] | [INFO] [stdout] 398 | ... .into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 398 | .iter() [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 397 | IntoIterator::into_iter([(reposition_rating_seg, Choice::Reposition)]) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/aligner.rs:407:30 [INFO] [stdout] | [INFO] [stdout] 407 | ... .into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 407 | .iter() [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 406 | IntoIterator::into_iter([(nosplit_rating_seg, Choice::NosplitReposition)]) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/aligner.rs:414:84 [INFO] [stdout] | [INFO] [stdout] 414 | return ArrayVec::from_iter([(fixed_rating_seg, Choice::Fixed)].into_iter().cloned()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 414 | return ArrayVec::from_iter([(fixed_rating_seg, Choice::Fixed)].iter().cloned()); [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 414 | return ArrayVec::from_iter(IntoIterator::into_iter([(fixed_rating_seg, Choice::Fixed)]).cloned()); [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/aligner.rs:488:58 [INFO] [stdout] | [INFO] [stdout] 488 | let mut iterators: ArrayVec<[_; 4]> = timepoints.into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 488 | let mut iterators: ArrayVec<[_; 4]> = timepoints.iter() [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 488 | let mut iterators: ArrayVec<[_; 4]> = IntoIterator::into_iter(timepoints) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/utils.rs:72:41 [INFO] [stdout] | [INFO] [stdout] 72 | 0 => ArrayVec::from_iter([prev].into_iter().cloned()), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 72 | 0 => ArrayVec::from_iter([prev].iter().cloned()), [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 72 | 0 => ArrayVec::from_iter(IntoIterator::into_iter([prev]).cloned()), [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/utils.rs:73:41 [INFO] [stdout] | [INFO] [stdout] 73 | 1 => ArrayVec::from_iter([prev].into_iter().cloned().chain(a.into_iter())), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 73 | 1 => ArrayVec::from_iter([prev].iter().cloned().chain(a.into_iter())), [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 73 | 1 => ArrayVec::from_iter(IntoIterator::into_iter([prev]).cloned().chain(a.into_iter())), [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/utils.rs:76:44 [INFO] [stdout] | [INFO] [stdout] 76 | ArrayVec::from_iter([prev].into_iter().cloned().chain(a.into_iter())) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 76 | ArrayVec::from_iter([prev].iter().cloned().chain(a.into_iter())) [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 76 | ArrayVec::from_iter(IntoIterator::into_iter([prev]).cloned().chain(a.into_iter())) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/utils.rs:78:44 [INFO] [stdout] | [INFO] [stdout] 78 | ArrayVec::from_iter([prev].into_iter().cloned().chain(a.into_iter().rev())) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 78 | ArrayVec::from_iter([prev].iter().cloned().chain(a.into_iter().rev())) [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 78 | ArrayVec::from_iter(IntoIterator::into_iter([prev]).cloned().chain(a.into_iter().rev())) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/utils.rs:317:27 [INFO] [stdout] | [INFO] [stdout] 317 | test_segs.into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 317 | test_segs.iter() [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 317 | IntoIterator::into_iter(test_segs) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/internal/utils.rs:340:27 [INFO] [stdout] | [INFO] [stdout] 340 | test_segs.into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 340 | test_segs.iter() [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 340 | IntoIterator::into_iter(test_segs) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.16s [INFO] [stderr] Executable unittests src/lib.rs (/opt/rustwide/target/debug/deps/aligner-236023b42ae577dc) [INFO] [stderr] Executable unittests src/main.rs (/opt/rustwide/target/debug/deps/aligner-3b330b8c942a3ab2) [INFO] running `Command { std: "docker" "inspect" "e01b9b2cfd039937cf94ef80beb0a6595c4240a864aad7331e0f048a3712a9fe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e01b9b2cfd039937cf94ef80beb0a6595c4240a864aad7331e0f048a3712a9fe", kill_on_drop: false }` [INFO] [stdout] e01b9b2cfd039937cf94ef80beb0a6595c4240a864aad7331e0f048a3712a9fe [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] a8b0020d790e71b1d03c660ed7497a5f3493ed69f35c6a94abdac6f598fac2cd [INFO] running `Command { std: "docker" "start" "-a" "a8b0020d790e71b1d03c660ed7497a5f3493ed69f35c6a94abdac6f598fac2cd", kill_on_drop: false }` [INFO] [stdout] [INFO] [stderr] warning: unknown lint: `collapsible_if` [INFO] [stdout] running 7 tests [INFO] [stderr] --> src/internal/utils.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | #[allow(collapsible_if)] [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unknown_lints)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unknown lint: `collapsible_if` [INFO] [stderr] --> src/internal/utils.rs:215:17 [INFO] [stderr] | [INFO] [stderr] 215 | #[allow(collapsible_if)] [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unknown lint: `if_same_then_else` [INFO] [stderr] --> src/internal/utils.rs:251:9 [INFO] [stderr] | [INFO] [stderr] 251 | #[allow(if_same_then_else)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/internal/rating_type.rs:27:40 [INFO] [stderr] | [INFO] [stderr] 27 | const RATING_PRECISION: RatingIntern = (1 << 32); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 27 - const RATING_PRECISION: RatingIntern = (1 << 32); [INFO] [stderr] 27 + const RATING_PRECISION: RatingIntern = 1 << 32; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:66:34 [INFO] [stderr] | [INFO] [stderr] 66 | progress_handler: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 66 - progress_handler: Option>, [INFO] [stderr] 66 + progress_handler: Option>, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/internal/aligner.rs:72:38 [INFO] [stderr] | [INFO] [stderr] 72 | progress_handler_opt: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 72 - progress_handler_opt: Option>, [INFO] [stderr] 72 + progress_handler_opt: Option>, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/internal/aligner.rs:110:46 [INFO] [stderr] | [INFO] [stderr] 110 | mut progress_handler_opt: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 110 - mut progress_handler_opt: Option>, [INFO] [stderr] 110 + mut progress_handler_opt: Option>, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stderr] --> src/internal/aligner.rs:398:30 [INFO] [stderr] | [INFO] [stderr] 398 | ... .into_iter() [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(array_into_iter)]` on by default [INFO] [stderr] = warning: this changes meaning in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stderr] | [INFO] [stderr] 398 | .iter() [INFO] [stderr] | ~~~~ [INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stderr] | [INFO] [stderr] 397 | IntoIterator::into_iter([(reposition_rating_seg, Choice::Reposition)]) [INFO] [stderr] | ++++++++++++++++++++++++ ~ [INFO] [stderr] [INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stderr] --> src/internal/aligner.rs:407:30 [INFO] [stderr] | [INFO] [stderr] 407 | ... .into_iter() [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this changes meaning in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stderr] | [INFO] [stderr] 407 | .iter() [INFO] [stderr] | ~~~~ [INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stderr] | [INFO] [stderr] 406 | IntoIterator::into_iter([(nosplit_rating_seg, Choice::NosplitReposition)]) [INFO] [stderr] | ++++++++++++++++++++++++ ~ [INFO] [stderr] [INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stderr] --> src/internal/aligner.rs:414:84 [INFO] [stderr] | [INFO] [stderr] 414 | return ArrayVec::from_iter([(fixed_rating_seg, Choice::Fixed)].into_iter().cloned()); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this changes meaning in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stderr] | [INFO] [stderr] 414 | return ArrayVec::from_iter([(fixed_rating_seg, Choice::Fixed)].iter().cloned()); [INFO] [stderr] | ~~~~ [INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stderr] | [INFO] [stderr] 414 | return ArrayVec::from_iter(IntoIterator::into_iter([(fixed_rating_seg, Choice::Fixed)]).cloned()); [INFO] [stderr] | ++++++++++++++++++++++++ ~ [INFO] [stderr] [INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stderr] --> src/internal/aligner.rs:488:58 [INFO] [stderr] | [INFO] [stderr] 488 | let mut iterators: ArrayVec<[_; 4]> = timepoints.into_iter() [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this changes meaning in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stderr] | [INFO] [stderr] 488 | let mut iterators: ArrayVec<[_; 4]> = timepoints.iter() [INFO] [stderr] | ~~~~ [INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stderr] | [INFO] [stderr] 488 | let mut iterators: ArrayVec<[_; 4]> = IntoIterator::into_iter(timepoints) [INFO] [stderr] | ++++++++++++++++++++++++ ~ [INFO] [stderr] [INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stderr] --> src/internal/utils.rs:72:41 [INFO] [stderr] | [INFO] [stderr] 72 | 0 => ArrayVec::from_iter([prev].into_iter().cloned()), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this changes meaning in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stderr] | [INFO] [stderr] 72 | 0 => ArrayVec::from_iter([prev].iter().cloned()), [INFO] [stderr] | ~~~~ [INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stderr] | [INFO] [stderr] 72 | 0 => ArrayVec::from_iter(IntoIterator::into_iter([prev]).cloned()), [INFO] [stderr] | ++++++++++++++++++++++++ ~ [INFO] [stderr] [INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stderr] --> src/internal/utils.rs:73:41 [INFO] [stderr] | [INFO] [stderr] 73 | 1 => ArrayVec::from_iter([prev].into_iter().cloned().chain(a.into_iter())), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this changes meaning in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stderr] | [INFO] [stderr] 73 | 1 => ArrayVec::from_iter([prev].iter().cloned().chain(a.into_iter())), [INFO] [stderr] | ~~~~ [INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stderr] | [INFO] [stderr] 73 | 1 => ArrayVec::from_iter(IntoIterator::into_iter([prev]).cloned().chain(a.into_iter())), [INFO] [stderr] | ++++++++++++++++++++++++ ~ [INFO] [stderr] [INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stderr] --> src/internal/utils.rs:76:44 [INFO] [stderr] | [INFO] [stderr] 76 | ArrayVec::from_iter([prev].into_iter().cloned().chain(a.into_iter())) [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this changes meaning in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stderr] | [INFO] [stderr] 76 | ArrayVec::from_iter([prev].iter().cloned().chain(a.into_iter())) [INFO] [stderr] | ~~~~ [INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stderr] | [INFO] [stderr] 76 | ArrayVec::from_iter(IntoIterator::into_iter([prev]).cloned().chain(a.into_iter())) [INFO] [stderr] | ++++++++++++++++++++++++ ~ [INFO] [stderr] [INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stderr] --> src/internal/utils.rs:78:44 [INFO] [stderr] | [INFO] [stderr] 78 | ArrayVec::from_iter([prev].into_iter().cloned().chain(a.into_iter().rev())) [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this changes meaning in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stderr] | [INFO] [stderr] 78 | ArrayVec::from_iter([prev].iter().cloned().chain(a.into_iter().rev())) [INFO] [stderr] | ~~~~ [INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stderr] | [INFO] [stderr] 78 | ArrayVec::from_iter(IntoIterator::into_iter([prev]).cloned().chain(a.into_iter().rev())) [INFO] [stderr] | ++++++++++++++++++++++++ ~ [INFO] [stderr] [INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stderr] --> src/internal/utils.rs:317:27 [INFO] [stderr] | [INFO] [stderr] 317 | test_segs.into_iter() [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this changes meaning in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stderr] | [INFO] [stderr] 317 | test_segs.iter() [INFO] [stderr] | ~~~~ [INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stderr] | [INFO] [stderr] 317 | IntoIterator::into_iter(test_segs) [INFO] [stderr] | ++++++++++++++++++++++++ ~ [INFO] [stderr] [INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stderr] --> src/internal/utils.rs:340:27 [INFO] [stderr] | [INFO] [stderr] 340 | test_segs.into_iter() [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this changes meaning in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stderr] | [INFO] [stderr] 340 | test_segs.iter() [INFO] [stderr] | ~~~~ [INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stderr] | [INFO] [stderr] 340 | IntoIterator::into_iter(test_segs) [INFO] [stderr] | ++++++++++++++++++++++++ ~ [INFO] [stderr] [INFO] [stderr] warning: `aligner` (lib) generated 15 warnings [INFO] [stderr] warning: `aligner` (lib test) generated 17 warnings (15 duplicates) [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> src/binary/errors.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | / error_chain! { [INFO] [stderr] 23 | | foreign_links { [INFO] [stderr] 24 | | Io(::std::io::Error); [INFO] [stderr] 25 | | } [INFO] [stderr] ... | [INFO] [stderr] 57 | | } [INFO] [stderr] 58 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] = note: this warning originates in the macro `error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/binary/errors.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | / error_chain! { [INFO] [stderr] 23 | | foreign_links { [INFO] [stderr] 24 | | Io(::std::io::Error); [INFO] [stderr] 25 | | } [INFO] [stderr] ... | [INFO] [stderr] 57 | | } [INFO] [stderr] 58 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `aligner` (bin "aligner" test) generated 2 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/aligner-236023b42ae577dc) [INFO] [stdout] test internal::delta_compression::tests::combine_add ... ok [INFO] [stdout] test internal::delta_compression::tests::truncate ... ok [INFO] [stdout] test internal::aligner::tests::run_aligner ... ok [INFO] [stdout] test internal::timespan_ops::tests::test_prepare_time_spans ... ok [INFO] [stdout] test internal::utils::tests::test_get_best_segments2 ... ok [INFO] [stdout] test internal::utils::tests::test_get_best_segments3 ... ok [INFO] [stdout] test internal::aligner::tests::get_compressed_overlapping_ratings ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.42s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/aligner-3b330b8c942a3ab2) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests aligner [INFO] [stderr] warning: unknown lint: `collapsible_if` [INFO] [stderr] --> /opt/rustwide/workdir/src/internal/utils.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | #[allow(collapsible_if)] [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unknown_lints)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unknown lint: `collapsible_if` [INFO] [stderr] --> /opt/rustwide/workdir/src/internal/utils.rs:215:17 [INFO] [stderr] | [INFO] [stderr] 215 | #[allow(collapsible_if)] [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unknown lint: `if_same_then_else` [INFO] [stderr] --> /opt/rustwide/workdir/src/internal/utils.rs:251:9 [INFO] [stderr] | [INFO] [stderr] 251 | #[allow(if_same_then_else)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> /opt/rustwide/workdir/src/internal/rating_type.rs:27:40 [INFO] [stderr] | [INFO] [stderr] 27 | const RATING_PRECISION: RatingIntern = (1 << 32); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 27 - const RATING_PRECISION: RatingIntern = (1 << 32); [INFO] [stderr] 27 + const RATING_PRECISION: RatingIntern = 1 << 32; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: 4 warnings emitted [INFO] [stderr] [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test src/internal/time_types.rs - internal::time_types::TimeSpan::contains (line 306) ... ok [INFO] [stdout] test src/internal/time_types.rs - internal::time_types::TimeSpan::new (line 230) ... ok [INFO] [stdout] test src/internal/time_types.rs - internal::time_types::TimeSpan::new_safe (line 253) ... ok [INFO] [stdout] test src/internal/time_types.rs - internal::time_types::TimePoint (line 142) ... ok [INFO] [stdout] test src/internal/time_types.rs - internal::time_types::TimeSpan::fast_distance_to (line 315) ... ok [INFO] [stdout] test src/internal/time_types.rs - internal::time_types::TimeSpan::new (line 216) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "a8b0020d790e71b1d03c660ed7497a5f3493ed69f35c6a94abdac6f598fac2cd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a8b0020d790e71b1d03c660ed7497a5f3493ed69f35c6a94abdac6f598fac2cd", kill_on_drop: false }` [INFO] [stdout] a8b0020d790e71b1d03c660ed7497a5f3493ed69f35c6a94abdac6f598fac2cd