[INFO] fetching crate emd_earcutr 0.1.0...
[INFO] testing emd_earcutr-0.1.0 against 1.90.0 for beta-1.91-3
[INFO] extracting crate emd_earcutr 0.1.0 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate emd_earcutr 0.1.0
[INFO] finished tweaking crates.io crate emd_earcutr 0.1.0
[INFO] tweaked toml for crates.io crate emd_earcutr 0.1.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate emd_earcutr 0.1.0 on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate emd_earcutr 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bencher v0.1.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e36bb7fa122bc2c2a518b64fafbec28b2faf0cde80505a2fc3655a87ccbde5c5
[INFO] running `Command { std: "docker" "start" "-a" "e36bb7fa122bc2c2a518b64fafbec28b2faf0cde80505a2fc3655a87ccbde5c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e36bb7fa122bc2c2a518b64fafbec28b2faf0cde80505a2fc3655a87ccbde5c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e36bb7fa122bc2c2a518b64fafbec28b2faf0cde80505a2fc3655a87ccbde5c5", kill_on_drop: false }`
[INFO] [stdout] e36bb7fa122bc2c2a518b64fafbec28b2faf0cde80505a2fc3655a87ccbde5c5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 04aa2b3b2e046d9aac3629a17b1e15e6a69eafa3615db2379dc7fd7ba499e349
[INFO] running `Command { std: "docker" "start" "-a" "04aa2b3b2e046d9aac3629a17b1e15e6a69eafa3615db2379dc7fd7ba499e349", kill_on_drop: false }`
[INFO] [stderr]    Compiling emd_earcutr v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn iter(&self, r: std::ops::Range<NodeIdx>) -> NodeIterator {
[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]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn iter(&self, r: std::ops::Range<NodeIdx>) -> NodeIterator<'_> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:118:19
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn iter_pairs(&self, r: std::ops::Range<NodeIdx>) -> NodePairIterator {
[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] 118 |     fn iter_pairs(&self, r: std::ops::Range<NodeIdx>) -> NodePairIterator<'_> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:182:16
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn new(ll: &LinkedLists, start: NodeIdx, end: NodeIdx) -> NodeIterator {
[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] 182 |     fn new(ll: &LinkedLists, start: NodeIdx, end: NodeIdx) -> NodeIterator<'_> {
[INFO] [stdout]     |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:215:16
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn new(ll: &LinkedLists, start: NodeIdx, end: NodeIdx) -> NodePairIterator {
[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] 215 |     fn new(ll: &LinkedLists, start: NodeIdx, end: NodeIdx) -> NodePairIterator<'_> {
[INFO] [stdout]     |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.43s
[INFO] running `Command { std: "docker" "inspect" "04aa2b3b2e046d9aac3629a17b1e15e6a69eafa3615db2379dc7fd7ba499e349", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "04aa2b3b2e046d9aac3629a17b1e15e6a69eafa3615db2379dc7fd7ba499e349", kill_on_drop: false }`
[INFO] [stdout] 04aa2b3b2e046d9aac3629a17b1e15e6a69eafa3615db2379dc7fd7ba499e349
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b488ad1c57cea2fa6535a1daf4776c013fc6e28cd8527cb9ea59b13f05f2ce43
[INFO] running `Command { std: "docker" "start" "-a" "b488ad1c57cea2fa6535a1daf4776c013fc6e28cd8527cb9ea59b13f05f2ce43", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.50
[INFO] [stderr]    Compiling serde v1.0.152
[INFO] [stderr]    Compiling syn v1.0.107
[INFO] [stderr]    Compiling serde_json v1.0.91
[INFO] [stderr]    Compiling serde_derive v1.0.152
[INFO] [stderr]    Compiling itoa v1.0.5
[INFO] [stderr]    Compiling ryu v1.0.12
[INFO] [stderr]    Compiling bencher v0.1.5
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn iter(&self, r: std::ops::Range<NodeIdx>) -> NodeIterator {
[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]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn iter(&self, r: std::ops::Range<NodeIdx>) -> NodeIterator<'_> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:118:19
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn iter_pairs(&self, r: std::ops::Range<NodeIdx>) -> NodePairIterator {
[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] 118 |     fn iter_pairs(&self, r: std::ops::Range<NodeIdx>) -> NodePairIterator<'_> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:182:16
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn new(ll: &LinkedLists, start: NodeIdx, end: NodeIdx) -> NodeIterator {
[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] 182 |     fn new(ll: &LinkedLists, start: NodeIdx, end: NodeIdx) -> NodeIterator<'_> {
[INFO] [stdout]     |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:215:16
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn new(ll: &LinkedLists, start: NodeIdx, end: NodeIdx) -> NodePairIterator {
[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] 215 |     fn new(ll: &LinkedLists, start: NodeIdx, end: NodeIdx) -> NodePairIterator<'_> {
[INFO] [stdout]     |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling quote v1.0.23
[INFO] [stderr]    Compiling emd_earcutr v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] error: could not compile `emd_earcutr` (test "integration_test") due to 6 previous errors; 1 warning emitted
[INFO] [stdout] error: use of deprecated `try` macro
[INFO] [stdout]   --> tests/integration_test.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     try!(writeln!(&f, r###"testOutput["{}"]=[];"###, filename));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: in the 2018 edition `try` is a reserved keyword, and the `try!()` macro is deprecated
[INFO] [stdout] help: you can use the `?` operator instead
[INFO] [stdout]    |
[INFO] [stdout] 79 -     try!(writeln!(&f, r###"testOutput["{}"]=[];"###, filename));
[INFO] [stdout] 79 +     writeln!(&f, r###"testOutput["{}"]=[];"###, filename)?;
[INFO] [stdout]    |
[INFO] [stdout] help: alternatively, you can still access the deprecated `try!()` macro using the "raw identifier" syntax
[INFO] [stdout]    |
[INFO] [stdout] 79 |     r#try!(writeln!(&f, r###"testOutput["{}"]=[];"###, filename));
[INFO] [stdout]    |     ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: use of deprecated `try` macro
[INFO] [stdout]   --> tests/integration_test.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | /     try!(writeln!(
[INFO] [stdout] 81 | |         &f,
[INFO] [stdout] 82 | |         r###"testOutput["{}"]["json"]={:?};"###,
[INFO] [stdout] 83 | |         filename, data
[INFO] [stdout] 84 | |     ));
[INFO] [stdout]    | |______^
[INFO] [stdout]    |
[INFO] [stdout]    = note: in the 2018 edition `try` is a reserved keyword, and the `try!()` macro is deprecated
[INFO] [stdout] help: you can use the `?` operator instead
[INFO] [stdout]    |
[INFO] [stdout] 80 ~     writeln!(
[INFO] [stdout] 81 |         &f,
[INFO] [stdout] 82 |         r###"testOutput["{}"]["json"]={:?};"###,
[INFO] [stdout] 83 |         filename, data
[INFO] [stdout] 84 ~     )?;
[INFO] [stdout]    |
[INFO] [stdout] help: alternatively, you can still access the deprecated `try!()` macro using the "raw identifier" syntax
[INFO] [stdout]    |
[INFO] [stdout] 80 |     r#try!(writeln!(
[INFO] [stdout]    |     ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `emd_earcutr` (example "main") due to 1 previous error
[INFO] [stdout] error: use of deprecated `try` macro
[INFO] [stdout]   --> tests/integration_test.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | /     try!(writeln!(
[INFO] [stdout] 86 | |         &f,
[INFO] [stdout] 87 | |         r###"testOutput["{}"]["triangles"]={:?};"###,
[INFO] [stdout] 88 | |         filename, tris
[INFO] [stdout] 89 | |     ));
[INFO] [stdout]    | |______^
[INFO] [stdout]    |
[INFO] [stdout]    = note: in the 2018 edition `try` is a reserved keyword, and the `try!()` macro is deprecated
[INFO] [stdout] help: you can use the `?` operator instead
[INFO] [stdout]    |
[INFO] [stdout] 85 ~     writeln!(
[INFO] [stdout] 86 |         &f,
[INFO] [stdout] 87 |         r###"testOutput["{}"]["triangles"]={:?};"###,
[INFO] [stdout] 88 |         filename, tris
[INFO] [stdout] 89 ~     )?;
[INFO] [stdout]    |
[INFO] [stdout] help: alternatively, you can still access the deprecated `try!()` macro using the "raw identifier" syntax
[INFO] [stdout]    |
[INFO] [stdout] 85 |     r#try!(writeln!(
[INFO] [stdout]    |     ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated `try` macro
[INFO] [stdout]   --> tests/integration_test.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | /     try!(writeln!(
[INFO] [stdout] 91 | |         &f,
[INFO] [stdout] 92 | |         r###"testOutput["{}"]["pass"]={:?};"###,
[INFO] [stdout] 93 | |         filename, pass
[INFO] [stdout] 94 | |     ));
[INFO] [stdout]    | |______^
[INFO] [stdout]    |
[INFO] [stdout]    = note: in the 2018 edition `try` is a reserved keyword, and the `try!()` macro is deprecated
[INFO] [stdout] help: you can use the `?` operator instead
[INFO] [stdout]    |
[INFO] [stdout] 90 ~     writeln!(
[INFO] [stdout] 91 |         &f,
[INFO] [stdout] 92 |         r###"testOutput["{}"]["pass"]={:?};"###,
[INFO] [stdout] 93 |         filename, pass
[INFO] [stdout] 94 ~     )?;
[INFO] [stdout]    |
[INFO] [stdout] help: alternatively, you can still access the deprecated `try!()` macro using the "raw identifier" syntax
[INFO] [stdout]    |
[INFO] [stdout] 90 |     r#try!(writeln!(
[INFO] [stdout]    |     ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated `try` macro
[INFO] [stdout]   --> tests/integration_test.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 | /     try!(writeln!(
[INFO] [stdout] 96 | |         &f,
[INFO] [stdout] 97 | |         r###"testOutput["{}"]["report"]={:?};"###,
[INFO] [stdout] 98 | |         filename, rpt
[INFO] [stdout] 99 | |     ));
[INFO] [stdout]    | |______^
[INFO] [stdout]    |
[INFO] [stdout]    = note: in the 2018 edition `try` is a reserved keyword, and the `try!()` macro is deprecated
[INFO] [stdout] help: you can use the `?` operator instead
[INFO] [stdout]    |
[INFO] [stdout] 95 ~     writeln!(
[INFO] [stdout] 96 |         &f,
[INFO] [stdout] 97 |         r###"testOutput["{}"]["report"]={:?};"###,
[INFO] [stdout] 98 |         filename, rpt
[INFO] [stdout] 99 ~     )?;
[INFO] [stdout]    |
[INFO] [stdout] help: alternatively, you can still access the deprecated `try!()` macro using the "raw identifier" syntax
[INFO] [stdout]    |
[INFO] [stdout] 95 |     r#try!(writeln!(
[INFO] [stdout]    |     ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `earcutr`
[INFO] [stdout]  --> tests/integration_test.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | extern crate earcutr;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `earcutr`
[INFO] [stdout]  --> examples/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | extern crate earcutr;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> tests/integration_test.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/lib.rs:1245:24
[INFO] [stdout]      |
[INFO] [stdout] 1245 |         let mut cycler;;
[INFO] [stdout]      |                        ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/lib.rs:1624:10
[INFO] [stdout]      |
[INFO] [stdout] 1624 |         };
[INFO] [stdout]      |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn iter(&self, r: std::ops::Range<NodeIdx>) -> NodeIterator {
[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]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn iter(&self, r: std::ops::Range<NodeIdx>) -> NodeIterator<'_> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:118:19
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn iter_pairs(&self, r: std::ops::Range<NodeIdx>) -> NodePairIterator {
[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] 118 |     fn iter_pairs(&self, r: std::ops::Range<NodeIdx>) -> NodePairIterator<'_> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:182:16
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn new(ll: &LinkedLists, start: NodeIdx, end: NodeIdx) -> NodeIterator {
[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] 182 |     fn new(ll: &LinkedLists, start: NodeIdx, end: NodeIdx) -> NodeIterator<'_> {
[INFO] [stdout]     |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:215:16
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn new(ll: &LinkedLists, start: NodeIdx, end: NodeIdx) -> NodePairIterator {
[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] 215 |     fn new(ll: &LinkedLists, start: NodeIdx, end: NodeIdx) -> NodePairIterator<'_> {
[INFO] [stdout]     |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b488ad1c57cea2fa6535a1daf4776c013fc6e28cd8527cb9ea59b13f05f2ce43", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b488ad1c57cea2fa6535a1daf4776c013fc6e28cd8527cb9ea59b13f05f2ce43", kill_on_drop: false }`
[INFO] [stdout] b488ad1c57cea2fa6535a1daf4776c013fc6e28cd8527cb9ea59b13f05f2ce43
