[INFO] fetching crate nucs 0.4.1...
[INFO] checking nucs-0.4.1 against 49a6044d37d694890450f52ceaceb66277a36b1e for pr-161154
[INFO] extracting crate nucs 0.4.1 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate nucs 0.4.1
[INFO] finished tweaking crates.io crate nucs 0.4.1
[INFO] tweaked toml for crates.io crate nucs 0.4.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate nucs 0.4.1 on toolchain 49a6044d37d694890450f52ceaceb66277a36b1e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+49a6044d37d694890450f52ceaceb66277a36b1e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate nucs 0.4.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+49a6044d37d694890450f52ceaceb66277a36b1e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b0e16c78c372142127a01fc037892c681e9c8796936248ebf042aae82349e921
[INFO] running `Command { std: "docker" "start" "b0e16c78c372142127a01fc037892c681e9c8796936248ebf042aae82349e921", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b0e16c78c372142127a01fc037892c681e9c8796936248ebf042aae82349e921", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b0e16c78c372142127a01fc037892c681e9c8796936248ebf042aae82349e921" "/opt/rustwide/cargo-home/bin/cargo" "+49a6044d37d694890450f52ceaceb66277a36b1e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b0e16c78c372142127a01fc037892c681e9c8796936248ebf042aae82349e921", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b0e16c78c372142127a01fc037892c681e9c8796936248ebf042aae82349e921" "/opt/rustwide/cargo-home/bin/cargo" "+49a6044d37d694890450f52ceaceb66277a36b1e" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling zerocopy-derive v0.8.26
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]     Checking clap_builder v4.5.53
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]     Checking criterion-plot v0.6.0
[INFO] [stderr]     Checking chacha20 v0.10.1
[INFO] [stderr]     Checking getrandom v0.4.3
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking rustix v1.0.8
[INFO] [stderr]     Checking rand v0.9.1
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking rand v0.10.2
[INFO] [stderr]     Checking ref-cast v1.0.25
[INFO] [stderr]     Checking nucs v0.4.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking clap v4.5.53
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking tempfile v3.20.0
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking proptest v1.7.0
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion v0.7.0
[INFO] [stdout] error[E0502]: cannot borrow `dna` as mutable because it is also borrowed as immutable
[INFO] [stdout]    --> src/iter.rs:549:43
[INFO] [stdout]     |
[INFO] [stdout] 547 |         let refs: Seq<Vec<_>> = anon_refs(&dna).into_iter().complemented().collect();
[INFO] [stdout]     |                                           ---- immutable borrow occurs here
[INFO] [stdout] 548 |         assert_eq!(refs, "TTTTGGGCCA");
[INFO] [stdout] 549 |         let muts: Seq<Vec<_>> = anon_muts(&mut dna).into_iter().complemented().collect();
[INFO] [stdout]     |                                           ^^^^^^^^ mutable borrow occurs here
[INFO] [stdout] 550 |         assert_eq!(muts, "TTTTGGGCCA");
[INFO] [stdout] 551 |     }
[INFO] [stdout]     |     - immutable borrow might be used here, when `refs` is dropped and runs the destructor for type `seq::Seq<Vec<impl nuc::Nucleotide>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> src/iter.rs:547:33
[INFO] [stdout]     |
[INFO] [stdout] 547 |         let refs: Seq<Vec<_>> = anon_refs(&dna).into_iter().complemented().collect();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/iter.rs:531:15
[INFO] [stdout]     |
[INFO] [stdout] 531 |         iter: impl IntoIterator<Item = &'a impl Nucleotide>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 530 ~     fn anon_refs<'a, T: Nucleotide, U: IntoIterator<Item = &'a impl Nucleotide>>(
[INFO] [stdout] 531 ~         iter: UT>,
[INFO] [stdout] 532 ~     ) -> impl IntoIterator<Item = &'a (impl Nucleotide + use<T, U>)> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `dna` as mutable because it is also borrowed as immutable
[INFO] [stdout]    --> src/iter.rs:581:38
[INFO] [stdout]     |
[INFO] [stdout] 579 |         let refs: Vec<_> = anon_refs(&dna).into_iter().codons().map(Seq).collect();
[INFO] [stdout]     |                                      ---- immutable borrow occurs here
[INFO] [stdout] 580 |         assert_eq!(refs, ["AAA", "ACC", "CGG"]);
[INFO] [stdout] 581 |         let muts: Vec<_> = anon_muts(&mut dna).into_iter().codons().map(Seq).collect();
[INFO] [stdout]     |                                      ^^^^^^^^ mutable borrow occurs here
[INFO] [stdout] 582 |         assert_eq!(muts, ["AAA", "ACC", "CGG"]);
[INFO] [stdout] 583 |     }
[INFO] [stdout]     |     - immutable borrow might be used here, when `refs` is dropped and runs the `Drop` code for type `Vec`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> src/iter.rs:579:28
[INFO] [stdout]     |
[INFO] [stdout] 579 |         let refs: Vec<_> = anon_refs(&dna).into_iter().codons().map(Seq).collect();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/iter.rs:531:15
[INFO] [stdout]     |
[INFO] [stdout] 531 |         iter: impl IntoIterator<Item = &'a impl Nucleotide>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 530 ~     fn anon_refs<'a, T: Nucleotide, U: IntoIterator<Item = &'a impl Nucleotide>>(
[INFO] [stdout] 531 ~         iter: UT>,
[INFO] [stdout] 532 ~     ) -> impl IntoIterator<Item = &'a (impl Nucleotide + use<T, U>)> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `dna` as mutable because it is also borrowed as immutable
[INFO] [stdout]    --> src/iter.rs:634:43
[INFO] [stdout]     |
[INFO] [stdout] 632 |         let refs: Seq<Vec<_>> = anon_refs(&dna).into_iter().translated_by(NCBI1).collect();
[INFO] [stdout]     |                                           ---- immutable borrow occurs here
[INFO] [stdout] 633 |         assert_eq!(refs, "KTR");
[INFO] [stdout] 634 |         let muts: Seq<Vec<_>> = anon_muts(&mut dna)
[INFO] [stdout]     |                                           ^^^^^^^^ mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 639 |     }
[INFO] [stdout]     |     - immutable borrow might be used here, when `refs` is dropped and runs the destructor for type `seq::Seq<Vec<<impl nuc::Nucleotide as nuc::Nucleotide>::Amino>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> src/iter.rs:632:33
[INFO] [stdout]     |
[INFO] [stdout] 632 |         let refs: Seq<Vec<_>> = anon_refs(&dna).into_iter().translated_by(NCBI1).collect();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/iter.rs:531:15
[INFO] [stdout]     |
[INFO] [stdout] 531 |         iter: impl IntoIterator<Item = &'a impl Nucleotide>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 530 ~     fn anon_refs<'a, T: Nucleotide, U: IntoIterator<Item = &'a impl Nucleotide>>(
[INFO] [stdout] 531 ~         iter: UT>,
[INFO] [stdout] 532 ~     ) -> impl IntoIterator<Item = &'a (impl Nucleotide + use<T, U>)> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `dna` as mutable because it is also borrowed as immutable
[INFO] [stdout]    --> src/slice.rs:411:51
[INFO] [stdout]     |
[INFO] [stdout] 409 |         let peptide: Seq<Vec<_>> = anon_slice(&dna).translated_by(NCBI1).into_iter().collect();
[INFO] [stdout]     |                                               ---- immutable borrow occurs here
[INFO] [stdout] 410 |         assert_eq!(peptide, "KTR");
[INFO] [stdout] 411 |         let peptide: Seq<Vec<_>> = anon_mut_slice(&mut dna)
[INFO] [stdout]     |                                                   ^^^^^^^^ mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 416 |     }
[INFO] [stdout]     |     - immutable borrow might be used here, when `peptide` is dropped and runs the destructor for type `seq::Seq<Vec<<impl nuc::Nucleotide as nuc::Nucleotide>::Amino>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> src/slice.rs:409:36
[INFO] [stdout]     |
[INFO] [stdout] 409 |         let peptide: Seq<Vec<_>> = anon_slice(&dna).translated_by(NCBI1).into_iter().collect();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/slice.rs:398:26
[INFO] [stdout]     |
[INFO] [stdout] 398 |     fn anon_slice(dna: &[impl Nucleotide]) -> &[impl Nucleotide] {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 398 -     fn anon_slice(dna: &[impl Nucleotide]) -> &[impl Nucleotide] {
[INFO] [stdout] 398 +     fn anon_slice<T: Nucleotide>(dna: &[T]) -> &[impl Nucleotide + use<T>] {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0502`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nucs` (lib test) due to 4 previous errors
[INFO] running `Command { std: "docker" "inspect" "b0e16c78c372142127a01fc037892c681e9c8796936248ebf042aae82349e921", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b0e16c78c372142127a01fc037892c681e9c8796936248ebf042aae82349e921", kill_on_drop: false }`
[INFO] [stdout] b0e16c78c372142127a01fc037892c681e9c8796936248ebf042aae82349e921
