[INFO] cloning repository https://github.com/DiveFish/ambiguity-stats
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DiveFish/ambiguity-stats" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDiveFish%2Fambiguity-stats", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDiveFish%2Fambiguity-stats'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e469c4db8599c6c91735609392a307ca87dec1c8
[INFO] checking DiveFish/ambiguity-stats/e469c4db8599c6c91735609392a307ca87dec1c8 against try#d336647335db03a0fc5b24fc5325cd3905c5b8e8 for pr-151146-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDiveFish%2Fambiguity-stats" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/DiveFish/ambiguity-stats
[INFO] finished tweaking git repo https://github.com/DiveFish/ambiguity-stats
[INFO] tweaked toml for git repo https://github.com/DiveFish/ambiguity-stats written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/DiveFish/ambiguity-stats on toolchain d336647335db03a0fc5b24fc5325cd3905c5b8e8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d336647335db03a0fc5b24fc5325cd3905c5b8e8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/DiveFish/ambiguity-stats 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" "+d336647335db03a0fc5b24fc5325cd3905c5b8e8" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+d336647335db03a0fc5b24fc5325cd3905c5b8e8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c47e573c427d3a942c2bd89b0fb2f3e58aaf3b494911dc418d9269b6567d3c8c
[INFO] running `Command { std: "docker" "start" "-a" "c47e573c427d3a942c2bd89b0fb2f3e58aaf3b494911dc418d9269b6567d3c8c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c47e573c427d3a942c2bd89b0fb2f3e58aaf3b494911dc418d9269b6567d3c8c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c47e573c427d3a942c2bd89b0fb2f3e58aaf3b494911dc418d9269b6567d3c8c", kill_on_drop: false }`
[INFO] [stdout] c47e573c427d3a942c2bd89b0fb2f3e58aaf3b494911dc418d9269b6567d3c8c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+d336647335db03a0fc5b24fc5325cd3905c5b8e8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7ae1a78c450302f7b54174139a339a75872762d3da494e42959917bdad12ed22
[INFO] running `Command { std: "docker" "start" "-a" "7ae1a78c450302f7b54174139a339a75872762d3da494e42959917bdad12ed22", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling cc v1.0.15
[INFO] [stderr]     Checking libc v0.2.40
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking rustc-demangle v0.1.8
[INFO] [stderr]     Checking cfg-if v0.1.3
[INFO] [stderr]     Checking unicode-width v0.1.4
[INFO] [stderr]     Checking either v1.5.0
[INFO] [stderr]     Checking ordermap v0.3.5
[INFO] [stderr]     Checking fixedbitset v0.1.9
[INFO] [stderr]     Checking strsim v0.7.0
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking bitflags v1.0.3
[INFO] [stderr]     Checking vec_map v0.8.0
[INFO] [stderr]     Checking lazy-init v0.3.0
[INFO] [stderr]     Checking lazy_static v1.0.1
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]     Checking textwrap v0.9.0
[INFO] [stderr]     Checking itertools v0.7.8
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]     Checking atty v0.2.10
[INFO] [stderr]     Checking clap v2.31.2
[INFO] [stderr]     Checking petgraph v0.4.13
[INFO] [stderr]    Compiling backtrace-sys v0.1.16
[INFO] [stderr]    Compiling miniz-sys v0.1.10
[INFO] [stderr]    Compiling synstructure v0.6.1
[INFO] [stderr]    Compiling failure_derive v0.1.1
[INFO] [stderr]     Checking flate2 v0.2.20
[INFO] [stderr]     Checking backtrace v0.3.7
[INFO] [stderr]     Checking failure v0.1.1
[INFO] [stderr]     Checking conllx v0.10.2
[INFO] [stderr]     Checking ambiguity-stats v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: ambiguous glob re-exports
[INFO] [stdout]   --> src/lib.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ambiguities::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ the name `pp_ambigs` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 13 | pub use ambiguities_ud::*;
[INFO] [stdout]    |         ----------------- but the name `pp_ambigs` in the value namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #107880 <https://github.com/rust-lang/rust/issues/107880>
[INFO] [stdout]    = note: `#[deny(ambiguous_glob_reexports)]` (part of `#[deny(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: ambiguous glob re-exports
[INFO] [stdout]   --> src/lib.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ambiguities::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ the name `pp_head_same_label_ambigs` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 13 | pub use ambiguities_ud::*;
[INFO] [stdout]    |         ----------------- but the name `pp_head_same_label_ambigs` in the value namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #107880 <https://github.com/rust-lang/rust/issues/107880>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: ambiguous glob re-exports
[INFO] [stdout]   --> src/lib.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ambiguities::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ the name `pp_label_same_head_ambigs` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 13 | pub use ambiguities_ud::*;
[INFO] [stdout]    |         ----------------- but the name `pp_label_same_head_ambigs` in the value namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #107880 <https://github.com/rust-lang/rust/issues/107880>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: ambiguous glob re-exports
[INFO] [stdout]   --> src/lib.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ambiguities::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ the name `subj_obj_ambigs` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 13 | pub use ambiguities_ud::*;
[INFO] [stdout]    |         ----------------- but the name `subj_obj_ambigs` in the value namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #107880 <https://github.com/rust-lang/rust/issues/107880>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: ambiguous glob re-exports
[INFO] [stdout]   --> src/lib.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ambiguities::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ the name `inversion_ambigs` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 13 | pub use ambiguities_ud::*;
[INFO] [stdout]    |         ----------------- but the name `inversion_ambigs` in the value namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #107880 <https://github.com/rust-lang/rust/issues/107880>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/readers/ngram_graph_reader.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | / lazy_static! {
[INFO] [stdout] 29 | |     static ref PP_RELATIONS: HashSet<&'static str> =
[INFO] [stdout] 30 | |         [PP_RELATION, OBJP_RELATION].iter().cloned().collect();
[INFO] [stdout] 31 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: ambiguous glob re-exports
[INFO] [stdout]   --> src/lib.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ambiguities::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ the name `pp_ambigs` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 13 | pub use ambiguities_ud::*;
[INFO] [stdout]    |         ----------------- but the name `pp_ambigs` in the value namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #107880 <https://github.com/rust-lang/rust/issues/107880>
[INFO] [stdout]    = note: `#[deny(ambiguous_glob_reexports)]` (part of `#[deny(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: ambiguous glob re-exports
[INFO] [stdout]   --> src/lib.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ambiguities::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ the name `pp_head_same_label_ambigs` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 13 | pub use ambiguities_ud::*;
[INFO] [stdout]    |         ----------------- but the name `pp_head_same_label_ambigs` in the value namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #107880 <https://github.com/rust-lang/rust/issues/107880>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: ambiguous glob re-exports
[INFO] [stdout]   --> src/lib.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ambiguities::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ the name `pp_label_same_head_ambigs` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 13 | pub use ambiguities_ud::*;
[INFO] [stdout]    |         ----------------- but the name `pp_label_same_head_ambigs` in the value namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #107880 <https://github.com/rust-lang/rust/issues/107880>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: ambiguous glob re-exports
[INFO] [stdout]   --> src/lib.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ambiguities::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ the name `subj_obj_ambigs` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 13 | pub use ambiguities_ud::*;
[INFO] [stdout]    |         ----------------- but the name `subj_obj_ambigs` in the value namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #107880 <https://github.com/rust-lang/rust/issues/107880>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: ambiguous glob re-exports
[INFO] [stdout]   --> src/lib.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ambiguities::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ the name `inversion_ambigs` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 13 | pub use ambiguities_ud::*;
[INFO] [stdout]    |         ----------------- but the name `inversion_ambigs` in the value namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #107880 <https://github.com/rust-lang/rust/issues/107880>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/readers/ngram_graph_reader.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | / lazy_static! {
[INFO] [stdout] 29 | |     static ref PP_RELATIONS: HashSet<&'static str> =
[INFO] [stdout] 30 | |         [PP_RELATION, OBJP_RELATION].iter().cloned().collect();
[INFO] [stdout] 31 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (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::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/pmi_map_utils.rs:13:72
[INFO] [stdout]    |
[INFO] [stdout] 13 |         Err(why) => panic!("Couldn't open {}: {}", path.display(), why.description()),
[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/pmi_map_utils.rs:63:72
[INFO] [stdout]    |
[INFO] [stdout] 63 |         Err(why) => panic!("Couldn't open {}: {}", path.display(), why.description()),
[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/pmi_map_utils.rs:13:72
[INFO] [stdout]    |
[INFO] [stdout] 13 |         Err(why) => panic!("Couldn't open {}: {}", path.display(), why.description()),
[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/pmi_map_utils.rs:63:72
[INFO] [stdout]    |
[INFO] [stdout] 63 |         Err(why) => panic!("Couldn't open {}: {}", path.display(), why.description()),
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `head_pos`
[INFO] [stdout]   --> src/ambiguities.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |             let head_pos = &parser_sent[parser_headidx].pos().expect("No PoS tag");
[INFO] [stdout]    |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_head_pos`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ambiguities.rs:402:17
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let mut verb_idx;
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ambiguities.rs:484:17
[INFO] [stdout]     |
[INFO] [stdout] 484 |             let mut verb_idx;
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ambiguities.rs:569:17
[INFO] [stdout]     |
[INFO] [stdout] 569 |             let mut verb_idx;
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ambiguities.rs:668:17
[INFO] [stdout]     |
[INFO] [stdout] 668 |             let mut verb = gold_sent[*verb-1].lemma();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ambiguities.rs:753:17
[INFO] [stdout]     |
[INFO] [stdout] 753 |             let mut verb_idx;
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `head_pos`
[INFO] [stdout]   --> src/ambiguities.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |             let head_pos = &parser_sent[parser_headidx].pos().expect("No PoS tag");
[INFO] [stdout]    |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_head_pos`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ambiguities.rs:884:17
[INFO] [stdout]     |
[INFO] [stdout] 884 |             let mut verb_idx;
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ambiguities.rs:402:17
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let mut verb_idx;
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ambiguities.rs:484:17
[INFO] [stdout]     |
[INFO] [stdout] 484 |             let mut verb_idx;
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ambiguities.rs:569:17
[INFO] [stdout]     |
[INFO] [stdout] 569 |             let mut verb_idx;
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ambiguities.rs:668:17
[INFO] [stdout]     |
[INFO] [stdout] 668 |             let mut verb = gold_sent[*verb-1].lemma();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ambiguities.rs:753:17
[INFO] [stdout]     |
[INFO] [stdout] 753 |             let mut verb_idx;
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parser_head_headpos`
[INFO] [stdout]    --> src/ambiguities_ud.rs:437:21
[INFO] [stdout]     |
[INFO] [stdout] 437 |                 let parser_head_headpos = &parser_sent[parser_head_headidx-1].pos().expect("No PoS tag");
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser_head_headpos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ambiguities.rs:884:17
[INFO] [stdout]     |
[INFO] [stdout] 884 |             let mut verb_idx;
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/error_analysis.rs:105:17
[INFO] [stdout]     |
[INFO] [stdout] 105 |             let mut verb_idx;
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parser_head_headpos`
[INFO] [stdout]    --> src/ambiguities_ud.rs:437:21
[INFO] [stdout]     |
[INFO] [stdout] 437 |                 let parser_head_headpos = &parser_sent[parser_head_headidx-1].pos().expect("No PoS tag");
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser_head_headpos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/error_analysis.rs:105:17
[INFO] [stdout]     |
[INFO] [stdout] 105 |             let mut verb_idx;
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/readers/ngram_dep_reader.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 |             let mut ngram;
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/readers/ngram_dep_reader.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             let mut token_form;
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/readers/ngram_dep_reader.rs:103:29
[INFO] [stdout]     |
[INFO] [stdout] 103 |                         let mut head_form;
[INFO] [stdout]     |                             ----^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/pmi_map_utils.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut line = reader.unwrap();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/readers/ngram_dep_reader.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 |             let mut ngram;
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/readers/ngram_dep_reader.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             let mut token_form;
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/readers/ngram_dep_reader.rs:103:29
[INFO] [stdout]     |
[INFO] [stdout] 103 |                         let mut head_form;
[INFO] [stdout]     |                             ----^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `print_sents`
[INFO] [stdout]   --> src/tp_fp_fn.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     print_sents: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_print_sents`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/pmi_map_utils.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut line = reader.unwrap();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tp_fp_fn.rs:187:17
[INFO] [stdout]     |
[INFO] [stdout] 187 |             let mut verb_idx;
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tp_fp_fn.rs:310:13
[INFO] [stdout]     |
[INFO] [stdout] 310 |         let mut gold_headidx = gold_token.head().expect("No head");
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `print_sents`
[INFO] [stdout]    --> src/tp_fp_fn.rs:301:5
[INFO] [stdout]     |
[INFO] [stdout] 301 |     print_sents: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_print_sents`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gold_head_headidx`
[INFO] [stdout]    --> src/tp_fp_fn.rs:345:21
[INFO] [stdout]     |
[INFO] [stdout] 345 |                 let gold_head_headidx = &gold_sent[gold_headidx - 1].head().expect("No head");
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gold_head_headidx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tp_fp_fn.rs:377:17
[INFO] [stdout]     |
[INFO] [stdout] 377 |             let mut verb_idx;
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pp_ambigs` is never used
[INFO] [stdout]   --> src/ambiguities.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn pp_ambigs(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pp_head_same_label_ambigs` is never used
[INFO] [stdout]    --> src/ambiguities.rs:241:8
[INFO] [stdout]     |
[INFO] [stdout] 241 | pub fn pp_head_same_label_ambigs(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pp_label_same_head_ambigs` is never used
[INFO] [stdout]    --> src/ambiguities.rs:333:8
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub fn pp_label_same_head_ambigs(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `subj_obj_ambigs` is never used
[INFO] [stdout]    --> src/ambiguities.rs:384:8
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub fn subj_obj_ambigs(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inversion_ambigs` is never used
[INFO] [stdout]    --> src/ambiguities.rs:466:8
[INFO] [stdout]     |
[INFO] [stdout] 466 | pub fn inversion_ambigs(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pp_ambigs` is never used
[INFO] [stdout]   --> src/ambiguities_ud.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn pp_ambigs(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pp_head_same_label_ambigs` is never used
[INFO] [stdout]   --> src/ambiguities_ud.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn pp_head_same_label_ambigs(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pp_label_same_head_ambigs` is never used
[INFO] [stdout]    --> src/ambiguities_ud.rs:145:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn pp_label_same_head_ambigs(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `subj_obj_ambigs` is never used
[INFO] [stdout]    --> src/ambiguities_ud.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn subj_obj_ambigs(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inversion_ambigs` is never used
[INFO] [stdout]    --> src/ambiguities_ud.rs:283:8
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub fn inversion_ambigs(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PP_RELATION` is never used
[INFO] [stdout]   --> src/readers/ngram_graph_reader.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | static PP_RELATION: &'static str = "PP";
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `OBJP_RELATION` is never used
[INFO] [stdout]   --> src/readers/ngram_graph_reader.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | static OBJP_RELATION: &'static str = "OBJP";
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/io.rs:63:54
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 let filename = path.to_str().unwrap().clone().to_string();
[INFO] [stdout]    |                                                      ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/io.rs:70:45
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let filename = dir.to_str().unwrap().clone().to_string();
[INFO] [stdout]    |                                             ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/io.rs:93:30
[INFO] [stdout]    |
[INFO] [stdout] 93 |                       .unwrap()
[INFO] [stdout]    |  ______________________________^
[INFO] [stdout] 94 | |                     .clone()
[INFO] [stdout]    | |____________________________^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/io.rs:109:29
[INFO] [stdout]     |
[INFO] [stdout] 109 | ...                   writeln!(file, "{}\t{}\t{}\t{}", w1, w2, deprel, pmi);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |                             let _ = writeln!(file, "{}\t{}\t{}\t{}", w1, w2, deprel, pmi);
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/io.rs:123:30
[INFO] [stdout]     |
[INFO] [stdout] 123 |                       .unwrap()
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 124 | |                     .clone()
[INFO] [stdout]     | |____________________________^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/io.rs:139:29
[INFO] [stdout]     |
[INFO] [stdout] 139 | ...                   writeln!(file, "{}\t{}\t{}\t{}", w1, w2, deprel, pmi);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 139 |                             let _ = writeln!(file, "{}\t{}\t{}\t{}", w1, w2, deprel, pmi);
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bigram_UD_pmi_to_dpar_pmis` should have a snake case name
[INFO] [stdout]    --> src/io.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn bigram_UD_pmi_to_dpar_pmis(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bigram_ud_pmi_to_dpar_pmis`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/io.rs:166:30
[INFO] [stdout]     |
[INFO] [stdout] 166 |                       .unwrap()
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 167 | |                     .clone()
[INFO] [stdout]     | |____________________________^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/io.rs:182:33
[INFO] [stdout]     |
[INFO] [stdout] 182 | ...                   writeln!(file, "{}\t{}\t{}\t{}", w1, w2, deprel.replace("/", ":"), pmi);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 182 |                                 let _ = writeln!(file, "{}\t{}\t{}\t{}", w1, w2, deprel.replace("/", ":"), pmi);
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/io.rs:196:30
[INFO] [stdout]     |
[INFO] [stdout] 196 |                       .unwrap()
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 197 | |                     .clone()
[INFO] [stdout]     | |____________________________^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/io.rs:212:33
[INFO] [stdout]     |
[INFO] [stdout] 212 | ...                   writeln!(file, "{}\t{}\t{}\t{}", w1, w2, deprel.replace("/", ":"), pmi);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 212 |                                 let _ = writeln!(file, "{}\t{}\t{}\t{}", w1, w2, deprel.replace("/", ":"), pmi);
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/io.rs:239:30
[INFO] [stdout]     |
[INFO] [stdout] 239 |                       .unwrap()
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 240 | |                     .clone()
[INFO] [stdout]     | |____________________________^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/io.rs:258:29
[INFO] [stdout]     |
[INFO] [stdout] 258 | ...                   writeln!(file, "{}\t{}\t{}\t{}\t{}\t{}", w1, w2, w3, d1, d2, pmi);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 258 |                             let _ = writeln!(file, "{}\t{}\t{}\t{}\t{}\t{}", w1, w2, w3, d1, d2, pmi);
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/io.rs:272:30
[INFO] [stdout]     |
[INFO] [stdout] 272 |                       .unwrap()
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 273 | |                     .clone()
[INFO] [stdout]     | |____________________________^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/io.rs:291:29
[INFO] [stdout]     |
[INFO] [stdout] 291 | ...                   writeln!(file, "{}\t{}\t{}\t{}\t{}\t{}", w1, w2, w3, d1, d2, pmi);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 291 |                             let _ = writeln!(file, "{}\t{}\t{}\t{}\t{}\t{}", w1, w2, w3, d1, d2, pmi);
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/graph.rs:18:36
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn sentence_to_graph(sentence: &Sentence, projective: bool) -> DependencyGraph {
[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] 18 | pub fn sentence_to_graph(sentence: &Sentence, projective: bool) -> DependencyGraph<'_> {
[INFO] [stdout]    |                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/readers/sentence_tree.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     &sentence_tree.push(root);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let _ = &sentence_tree.push(root);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/readers/sentence_tree.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         &sentence_tree.push(Node::new(&sentence[idx].clone(), idx));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let _ = &sentence_tree.push(Node::new(&sentence[idx].clone(), idx));
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/reader.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |                 file.write_all(ngram.as_bytes());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 18 |                 let _ = file.write_all(ngram.as_bytes());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/reader.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |                 file.write_all(ngram.as_bytes());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 23 |                 let _ = file.write_all(ngram.as_bytes());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `print_sents`
[INFO] [stdout]   --> src/tp_fp_fn.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     print_sents: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_print_sents`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tp_fp_fn.rs:187:17
[INFO] [stdout]     |
[INFO] [stdout] 187 |             let mut verb_idx;
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tp_fp_fn.rs:310:13
[INFO] [stdout]     |
[INFO] [stdout] 310 |         let mut gold_headidx = gold_token.head().expect("No head");
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `print_sents`
[INFO] [stdout]    --> src/tp_fp_fn.rs:301:5
[INFO] [stdout]     |
[INFO] [stdout] 301 |     print_sents: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_print_sents`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gold_head_headidx`
[INFO] [stdout]    --> src/tp_fp_fn.rs:345:21
[INFO] [stdout]     |
[INFO] [stdout] 345 |                 let gold_head_headidx = &gold_sent[gold_headidx - 1].head().expect("No head");
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gold_head_headidx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tp_fp_fn.rs:377:17
[INFO] [stdout]     |
[INFO] [stdout] 377 |             let mut verb_idx;
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pp_ambigs` is never used
[INFO] [stdout]   --> src/ambiguities.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn pp_ambigs(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pp_head_same_label_ambigs` is never used
[INFO] [stdout]    --> src/ambiguities.rs:241:8
[INFO] [stdout]     |
[INFO] [stdout] 241 | pub fn pp_head_same_label_ambigs(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pp_label_same_head_ambigs` is never used
[INFO] [stdout]    --> src/ambiguities.rs:333:8
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub fn pp_label_same_head_ambigs(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `subj_obj_ambigs` is never used
[INFO] [stdout]    --> src/ambiguities.rs:384:8
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub fn subj_obj_ambigs(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inversion_ambigs` is never used
[INFO] [stdout]    --> src/ambiguities.rs:466:8
[INFO] [stdout]     |
[INFO] [stdout] 466 | pub fn inversion_ambigs(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ambiguity-stats` (lib) due to 10 previous errors; 54 warnings emitted
[INFO] [stdout] warning: function `pp_ambigs` is never used
[INFO] [stdout]   --> src/ambiguities_ud.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn pp_ambigs(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: function `pp_head_same_label_ambigs` is never used
[INFO] [stdout]   --> src/ambiguities_ud.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn pp_head_same_label_ambigs(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pp_label_same_head_ambigs` is never used
[INFO] [stdout]    --> src/ambiguities_ud.rs:145:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn pp_label_same_head_ambigs(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `subj_obj_ambigs` is never used
[INFO] [stdout]    --> src/ambiguities_ud.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn subj_obj_ambigs(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inversion_ambigs` is never used
[INFO] [stdout]    --> src/ambiguities_ud.rs:283:8
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub fn inversion_ambigs(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PP_RELATION` is never used
[INFO] [stdout]   --> src/readers/ngram_graph_reader.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | static PP_RELATION: &'static str = "PP";
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `OBJP_RELATION` is never used
[INFO] [stdout]   --> src/readers/ngram_graph_reader.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | static OBJP_RELATION: &'static str = "OBJP";
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/io.rs:63:54
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 let filename = path.to_str().unwrap().clone().to_string();
[INFO] [stdout]    |                                                      ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/io.rs:70:45
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let filename = dir.to_str().unwrap().clone().to_string();
[INFO] [stdout]    |                                             ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/io.rs:93:30
[INFO] [stdout]    |
[INFO] [stdout] 93 |                       .unwrap()
[INFO] [stdout]    |  ______________________________^
[INFO] [stdout] 94 | |                     .clone()
[INFO] [stdout]    | |____________________________^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/io.rs:109:29
[INFO] [stdout]     |
[INFO] [stdout] 109 | ...                   writeln!(file, "{}\t{}\t{}\t{}", w1, w2, deprel, pmi);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |                             let _ = writeln!(file, "{}\t{}\t{}\t{}", w1, w2, deprel, pmi);
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/io.rs:123:30
[INFO] [stdout]     |
[INFO] [stdout] 123 |                       .unwrap()
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 124 | |                     .clone()
[INFO] [stdout]     | |____________________________^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/io.rs:139:29
[INFO] [stdout]     |
[INFO] [stdout] 139 | ...                   writeln!(file, "{}\t{}\t{}\t{}", w1, w2, deprel, pmi);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 139 |                             let _ = writeln!(file, "{}\t{}\t{}\t{}", w1, w2, deprel, pmi);
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bigram_UD_pmi_to_dpar_pmis` should have a snake case name
[INFO] [stdout]    --> src/io.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn bigram_UD_pmi_to_dpar_pmis(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bigram_ud_pmi_to_dpar_pmis`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/io.rs:166:30
[INFO] [stdout]     |
[INFO] [stdout] 166 |                       .unwrap()
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 167 | |                     .clone()
[INFO] [stdout]     | |____________________________^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/io.rs:182:33
[INFO] [stdout]     |
[INFO] [stdout] 182 | ...                   writeln!(file, "{}\t{}\t{}\t{}", w1, w2, deprel.replace("/", ":"), pmi);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 182 |                                 let _ = writeln!(file, "{}\t{}\t{}\t{}", w1, w2, deprel.replace("/", ":"), pmi);
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/io.rs:196:30
[INFO] [stdout]     |
[INFO] [stdout] 196 |                       .unwrap()
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 197 | |                     .clone()
[INFO] [stdout]     | |____________________________^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/io.rs:212:33
[INFO] [stdout]     |
[INFO] [stdout] 212 | ...                   writeln!(file, "{}\t{}\t{}\t{}", w1, w2, deprel.replace("/", ":"), pmi);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 212 |                                 let _ = writeln!(file, "{}\t{}\t{}\t{}", w1, w2, deprel.replace("/", ":"), pmi);
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/io.rs:239:30
[INFO] [stdout]     |
[INFO] [stdout] 239 |                       .unwrap()
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 240 | |                     .clone()
[INFO] [stdout]     | |____________________________^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/io.rs:258:29
[INFO] [stdout]     |
[INFO] [stdout] 258 | ...                   writeln!(file, "{}\t{}\t{}\t{}\t{}\t{}", w1, w2, w3, d1, d2, pmi);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 258 |                             let _ = writeln!(file, "{}\t{}\t{}\t{}\t{}\t{}", w1, w2, w3, d1, d2, pmi);
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/io.rs:272:30
[INFO] [stdout]     |
[INFO] [stdout] 272 |                       .unwrap()
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 273 | |                     .clone()
[INFO] [stdout]     | |____________________________^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/io.rs:291:29
[INFO] [stdout]     |
[INFO] [stdout] 291 | ...                   writeln!(file, "{}\t{}\t{}\t{}\t{}\t{}", w1, w2, w3, d1, d2, pmi);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 291 |                             let _ = writeln!(file, "{}\t{}\t{}\t{}\t{}\t{}", w1, w2, w3, d1, d2, pmi);
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/graph.rs:18:36
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn sentence_to_graph(sentence: &Sentence, projective: bool) -> DependencyGraph {
[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] 18 | pub fn sentence_to_graph(sentence: &Sentence, projective: bool) -> DependencyGraph<'_> {
[INFO] [stdout]    |                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/readers/sentence_tree.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     &sentence_tree.push(root);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let _ = &sentence_tree.push(root);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/readers/sentence_tree.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         &sentence_tree.push(Node::new(&sentence[idx].clone(), idx));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let _ = &sentence_tree.push(Node::new(&sentence[idx].clone(), idx));
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/reader.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |                 file.write_all(ngram.as_bytes());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 18 |                 let _ = file.write_all(ngram.as_bytes());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/reader.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |                 file.write_all(ngram.as_bytes());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 23 |                 let _ = file.write_all(ngram.as_bytes());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ambiguity-stats` (lib test) due to 10 previous errors; 54 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "7ae1a78c450302f7b54174139a339a75872762d3da494e42959917bdad12ed22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ae1a78c450302f7b54174139a339a75872762d3da494e42959917bdad12ed22", kill_on_drop: false }`
[INFO] [stdout] 7ae1a78c450302f7b54174139a339a75872762d3da494e42959917bdad12ed22
