[INFO] fetching crate aligner 0.1.6... [INFO] testing aligner-0.1.6 against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] extracting crate aligner 0.1.6 into /workspace/builds/worker-5-tc1/source [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-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate aligner 0.1.6 on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 80 packages to latest compatible versions [INFO] [stderr] Adding arrayvec v0.4.12 (available: v0.7.6) [INFO] [stderr] Adding clap v2.34.0 (available: v4.5.46) [INFO] [stderr] Adding error-chain v0.10.0 (available: v0.12.4) [INFO] [stderr] Adding nom v2.1.0 (available: v2.2.1) [INFO] [stderr] Adding rand v0.3.23 (available: v0.9.2) [INFO] [stderr] Adding subparse v0.3.0 (available: v0.7.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded subparse v0.3.0 [INFO] [stderr] Downloaded vobsub v0.2.3 [INFO] [stderr] Downloaded ascii v0.7.1 [INFO] [stderr] Downloaded pbr v1.1.1 [INFO] [stderr] Downloaded cast v0.2.7 [INFO] [stderr] Downloaded image v0.13.0 [INFO] [stderr] Downloaded combine v2.5.2 [INFO] [stderr] Downloaded itertools v0.6.5 [INFO] [stderr] Downloaded nom v2.1.0 [INFO] [stderr] Downloaded num-rational v0.1.43 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cb2a3284cfaa08cca4f774659dc785d80929a577008b66f3e742cb34e52c469a [INFO] running `Command { std: "docker" "start" "-a" "cb2a3284cfaa08cca4f774659dc785d80929a577008b66f3e742cb34e52c469a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cb2a3284cfaa08cca4f774659dc785d80929a577008b66f3e742cb34e52c469a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cb2a3284cfaa08cca4f774659dc785d80929a577008b66f3e742cb34e52c469a", kill_on_drop: false }` [INFO] [stdout] cb2a3284cfaa08cca4f774659dc785d80929a577008b66f3e742cb34e52c469a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] eb36b7b26c1023de778aff92c9c425b4a752192dfc237a749d4bf62ad60a7a2e [INFO] running `Command { std: "docker" "start" "-a" "eb36b7b26c1023de778aff92c9c425b4a752192dfc237a749d4bf62ad60a7a2e", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling encoding_index_tests v0.1.4 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Compiling num-rational v0.1.43 [INFO] [stderr] Compiling gimli v0.31.1 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling regex v0.2.11 [INFO] [stderr] Compiling cast v0.2.7 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling cfg-if v1.0.3 [INFO] [stderr] Compiling rustc-demangle v0.1.26 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling ucd-util v0.1.10 [INFO] [stderr] Compiling regex-syntax v0.5.6 [INFO] [stderr] Compiling thread_local v0.3.6 [INFO] [stderr] Compiling aho-corasick v0.6.10 [INFO] [stderr] Compiling utf8-ranges v1.0.5 [INFO] [stderr] Compiling log v0.3.9 [INFO] [stderr] Compiling encoding-index-simpchinese v1.20141219.5 [INFO] [stderr] Compiling encoding-index-korean v1.20141219.5 [INFO] [stderr] Compiling encoding-index-tradchinese v1.20141219.5 [INFO] [stderr] Compiling encoding-index-japanese v1.20141219.5 [INFO] [stderr] Compiling encoding-index-singlebyte v1.20141219.5 [INFO] [stderr] Compiling ascii v0.7.1 [INFO] [stderr] Compiling nom v2.1.0 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling enum_primitive v0.1.1 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling safemem v0.2.0 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling lazy_static v0.2.11 [INFO] [stderr] Compiling itertools v0.6.5 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling image v0.13.0 [INFO] [stderr] Compiling combine v2.5.2 [INFO] [stderr] Compiling encoding v0.2.33 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling strsim v0.8.0 [INFO] [stderr] Compiling addr2line v0.24.2 [INFO] [stderr] Compiling vec_map v0.8.2 [INFO] [stderr] Compiling nodrop v0.1.14 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Compiling pbr v1.1.1 [INFO] [stderr] Compiling backtrace v0.3.75 [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: 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)]` (part of `#[warn(unused)]`) 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/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] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [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/lib.rs:66:34 [INFO] [stdout] | [INFO] [stdout] 66 | progress_handler: 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: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [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: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: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 110 | mut progress_handler_opt: Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/internal/delta_compression.rs:303:26 [INFO] [stdout] | [INFO] [stdout] 303 | pub fn iter_segments(&self) -> Iter> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 303 | pub fn iter_segments(&self) -> Iter<'_, DeltaSegment> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/internal/delta_compression.rs:550:24 [INFO] [stdout] | [INFO] [stdout] 550 | pub fn new(buffer: &DeltaBuffer, first_timepoint: TimePoint) -> DeltaBufferReader { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 550 | pub fn new(buffer: &DeltaBuffer, first_timepoint: TimePoint) -> DeltaBufferReader<'_, T, D> { [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] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 398 - .into_iter() [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 - [(reposition_rating_seg, Choice::Reposition)] [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 - .into_iter() [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 - [(nosplit_rating_seg, Choice::NosplitReposition)] [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)].into_iter().cloned()); [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([(fixed_rating_seg, Choice::Fixed)].into_iter().cloned()); [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.into_iter() [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]> = timepoints.into_iter() [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].into_iter().cloned()), [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([prev].into_iter().cloned()), [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].into_iter().cloned().chain(a.into_iter())), [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([prev].into_iter().cloned().chain(a.into_iter())), [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].into_iter().cloned().chain(a.into_iter())) [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([prev].into_iter().cloned().chain(a.into_iter())) [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].into_iter().cloned().chain(a.into_iter().rev())) [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([prev].into_iter().cloned().chain(a.into_iter().rev())) [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: use of deprecated method `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] ... | [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` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `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] ... | [INFO] [stdout] 58 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 39.72s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.1.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "eb36b7b26c1023de778aff92c9c425b4a752192dfc237a749d4bf62ad60a7a2e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eb36b7b26c1023de778aff92c9c425b4a752192dfc237a749d4bf62ad60a7a2e", kill_on_drop: false }` [INFO] [stdout] eb36b7b26c1023de778aff92c9c425b4a752192dfc237a749d4bf62ad60a7a2e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 035e82dbab4da0ec33aca98e65a8564abe6ed81b190eb4558d16fe425ef957dc [INFO] running `Command { std: "docker" "start" "-a" "035e82dbab4da0ec33aca98e65a8564abe6ed81b190eb4558d16fe425ef957dc", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling rand v0.4.6 [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)]` (part of `#[warn(unused)]`) 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/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] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [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/lib.rs:66:34 [INFO] [stdout] | [INFO] [stdout] 66 | progress_handler: 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: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [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: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: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 110 | mut progress_handler_opt: Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/internal/delta_compression.rs:303:26 [INFO] [stdout] | [INFO] [stdout] 303 | pub fn iter_segments(&self) -> Iter> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 303 | pub fn iter_segments(&self) -> Iter<'_, DeltaSegment> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/internal/delta_compression.rs:550:24 [INFO] [stdout] | [INFO] [stdout] 550 | pub fn new(buffer: &DeltaBuffer, first_timepoint: TimePoint) -> DeltaBufferReader { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 550 | pub fn new(buffer: &DeltaBuffer, first_timepoint: TimePoint) -> DeltaBufferReader<'_, T, D> { [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] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 398 - .into_iter() [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 - [(reposition_rating_seg, Choice::Reposition)] [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 - .into_iter() [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 - [(nosplit_rating_seg, Choice::NosplitReposition)] [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)].into_iter().cloned()); [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([(fixed_rating_seg, Choice::Fixed)].into_iter().cloned()); [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.into_iter() [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]> = timepoints.into_iter() [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].into_iter().cloned()), [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([prev].into_iter().cloned()), [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].into_iter().cloned().chain(a.into_iter())), [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([prev].into_iter().cloned().chain(a.into_iter())), [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].into_iter().cloned().chain(a.into_iter())) [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([prev].into_iter().cloned().chain(a.into_iter())) [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].into_iter().cloned().chain(a.into_iter().rev())) [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([prev].into_iter().cloned().chain(a.into_iter().rev())) [INFO] [stdout] 78 + ArrayVec::from_iter(IntoIterator::into_iter([prev]).cloned().chain(a.into_iter().rev())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rand v0.3.23 [INFO] [stderr] Compiling aligner v0.1.6 (/opt/rustwide/workdir) [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)]` (part of `#[warn(unused)]`) 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/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] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [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/lib.rs:66:34 [INFO] [stdout] | [INFO] [stdout] 66 | progress_handler: 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: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 | progress_handler: Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `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] ... | [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` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info) [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: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 110 | mut progress_handler_opt: Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `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] ... | [INFO] [stdout] 58 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/internal/delta_compression.rs:295:17 [INFO] [stdout] | [INFO] [stdout] 295 | pub fn iter(&self) -> DeltaBufferIter [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 295 | pub fn iter(&self) -> DeltaBufferIter<'_, T, D> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/internal/delta_compression.rs:303:26 [INFO] [stdout] | [INFO] [stdout] 303 | pub fn iter_segments(&self) -> Iter> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 303 | pub fn iter_segments(&self) -> Iter<'_, DeltaSegment> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/internal/delta_compression.rs:550:24 [INFO] [stdout] | [INFO] [stdout] 550 | pub fn new(buffer: &DeltaBuffer, first_timepoint: TimePoint) -> DeltaBufferReader { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 550 | pub fn new(buffer: &DeltaBuffer, first_timepoint: TimePoint) -> DeltaBufferReader<'_, T, D> { [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] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 398 - .into_iter() [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 - [(reposition_rating_seg, Choice::Reposition)] [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 - .into_iter() [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 - [(nosplit_rating_seg, Choice::NosplitReposition)] [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)].into_iter().cloned()); [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([(fixed_rating_seg, Choice::Fixed)].into_iter().cloned()); [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.into_iter() [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]> = timepoints.into_iter() [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].into_iter().cloned()), [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([prev].into_iter().cloned()), [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].into_iter().cloned().chain(a.into_iter())), [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([prev].into_iter().cloned().chain(a.into_iter())), [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].into_iter().cloned().chain(a.into_iter())) [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([prev].into_iter().cloned().chain(a.into_iter())) [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].into_iter().cloned().chain(a.into_iter().rev())) [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([prev].into_iter().cloned().chain(a.into_iter().rev())) [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.into_iter() [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 - test_segs.into_iter() [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.into_iter() [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 - test_segs.into_iter() [INFO] [stdout] 340 + IntoIterator::into_iter(test_segs) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.99s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.1.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "035e82dbab4da0ec33aca98e65a8564abe6ed81b190eb4558d16fe425ef957dc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "035e82dbab4da0ec33aca98e65a8564abe6ed81b190eb4558d16fe425ef957dc", kill_on_drop: false }` [INFO] [stdout] 035e82dbab4da0ec33aca98e65a8564abe6ed81b190eb4558d16fe425ef957dc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 5627cde60bc91a6e701e744c11d757feb3eb2cdd03eba5c807be99a0cf2708ff [INFO] running `Command { std: "docker" "start" "-a" "5627cde60bc91a6e701e744c11d757feb3eb2cdd03eba5c807be99a0cf2708ff", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [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)]` (part of `#[warn(unused)]`) 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/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] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [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/lib.rs:66:34 [INFO] [stderr] | [INFO] [stderr] 66 | progress_handler: 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: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [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: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: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 110 | mut progress_handler_opt: Option>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/internal/delta_compression.rs:303:26 [INFO] [stderr] | [INFO] [stderr] 303 | pub fn iter_segments(&self) -> Iter> { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 303 | pub fn iter_segments(&self) -> Iter<'_, DeltaSegment> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/internal/delta_compression.rs:550:24 [INFO] [stderr] | [INFO] [stderr] 550 | pub fn new(buffer: &DeltaBuffer, first_timepoint: TimePoint) -> DeltaBufferReader { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 550 | pub fn new(buffer: &DeltaBuffer, first_timepoint: TimePoint) -> DeltaBufferReader<'_, T, D> { [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] = warning: this changes meaning in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stderr] | [INFO] [stderr] 398 - .into_iter() [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 - [(reposition_rating_seg, Choice::Reposition)] [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 - .into_iter() [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 - [(nosplit_rating_seg, Choice::NosplitReposition)] [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)].into_iter().cloned()); [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([(fixed_rating_seg, Choice::Fixed)].into_iter().cloned()); [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.into_iter() [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]> = timepoints.into_iter() [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].into_iter().cloned()), [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([prev].into_iter().cloned()), [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].into_iter().cloned().chain(a.into_iter())), [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([prev].into_iter().cloned().chain(a.into_iter())), [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].into_iter().cloned().chain(a.into_iter())) [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([prev].into_iter().cloned().chain(a.into_iter())) [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].into_iter().cloned().chain(a.into_iter().rev())) [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([prev].into_iter().cloned().chain(a.into_iter().rev())) [INFO] [stderr] 78 + ArrayVec::from_iter(IntoIterator::into_iter([prev]).cloned().chain(a.into_iter().rev())) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/internal/delta_compression.rs:295:17 [INFO] [stderr] | [INFO] [stderr] 295 | pub fn iter(&self) -> DeltaBufferIter [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 295 | pub fn iter(&self) -> DeltaBufferIter<'_, T, D> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/internal/delta_compression.rs:303:26 [INFO] [stderr] | [INFO] [stderr] 303 | pub fn iter_segments(&self) -> Iter> { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 303 | pub fn iter_segments(&self) -> Iter<'_, DeltaSegment> { [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.into_iter() [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 - test_segs.into_iter() [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.into_iter() [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 - test_segs.into_iter() [INFO] [stderr] 340 + IntoIterator::into_iter(test_segs) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `aligner` (lib) generated 14 warnings (run `cargo fix --lib -p aligner` to apply 14 suggestions) [INFO] [stderr] warning: `aligner` (lib test) generated 17 warnings (13 duplicates) (run `cargo fix --lib -p aligner --tests` to apply 4 suggestions) [INFO] [stderr] warning: use of deprecated method `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] ... | [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` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `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] ... | [INFO] [stderr] 58 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (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` profile [unoptimized + debuginfo] target(s) in 0.18s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.1.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/aligner-583418e26c739e40) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test internal::delta_compression::tests::combine_add ... ok [INFO] [stdout] test internal::timespan_ops::tests::test_prepare_time_spans ... ok [INFO] [stdout] test internal::aligner::tests::run_aligner ... ok [INFO] [stdout] test internal::delta_compression::tests::truncate ... ok [INFO] [stdout] test internal::utils::tests::test_get_best_segments3 ... ok [INFO] [stdout] test internal::utils::tests::test_get_best_segments2 ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/aligner-c608308a89758c38) [INFO] [stdout] test internal::aligner::tests::get_compressed_overlapping_ratings ... ok [INFO] [stderr] Doc-tests aligner [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.14s [INFO] [stdout] [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] [stdout] [INFO] [stdout] running 6 tests [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)]` (part of `#[warn(unused)]`) 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: 1 warning emitted [INFO] [stderr] [INFO] [stdout] test src/internal/time_types.rs - internal::time_types::TimeSpan::new (line 216) ... 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::new_safe (line 253) ... 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::fast_distance_to (line 315) ... ok [INFO] [stdout] test src/internal/time_types.rs - internal::time_types::TimeSpan::contains (line 306) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.40s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "5627cde60bc91a6e701e744c11d757feb3eb2cdd03eba5c807be99a0cf2708ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5627cde60bc91a6e701e744c11d757feb3eb2cdd03eba5c807be99a0cf2708ff", kill_on_drop: false }` [INFO] [stdout] 5627cde60bc91a6e701e744c11d757feb3eb2cdd03eba5c807be99a0cf2708ff