[INFO] fetching crate champ 0.1.0...
[INFO] testing champ-0.1.0 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate champ 0.1.0 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate champ 0.1.0
[INFO] finished tweaking crates.io crate champ 0.1.0
[INFO] tweaked toml for crates.io crate champ 0.1.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate champ 0.1.0 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate champ 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded nu-ansi-term v0.46.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.85
[INFO] [stderr]   Downloaded overload v0.1.1
[INFO] [stderr]   Downloaded tracing-attributes v0.1.27
[INFO] [stderr]   Downloaded tracing-subscriber v0.3.18
[INFO] [stderr]   Downloaded windows-targets v0.52.5
[INFO] [stderr]   Downloaded toml v0.8.14
[INFO] [stderr]   Downloaded matchers v0.1.0
[INFO] [stderr]   Downloaded serde_spanned v0.6.6
[INFO] [stderr]   Downloaded anstyle-query v1.1.0
[INFO] [stderr]   Downloaded anstyle-wincon v3.0.3
[INFO] [stderr]   Downloaded anyhow v1.0.89
[INFO] [stderr]   Downloaded clap_derive v4.5.4
[INFO] [stderr]   Downloaded memchr v2.7.2
[INFO] [stderr]   Downloaded winnow v0.6.11
[INFO] [stderr]   Downloaded toml_edit v0.22.14
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.52.5
[INFO] [stderr]   Downloaded regex-syntax v0.6.29
[INFO] [stderr]   Downloaded regex-syntax v0.8.3
[INFO] [stderr]   Downloaded regex v1.10.4
[INFO] [stderr]   Downloaded syn v2.0.66
[INFO] [stderr]   Downloaded mio v0.8.5
[INFO] [stderr]   Downloaded serde v1.0.203
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.42.1
[INFO] [stderr]   Downloaded indexmap v2.2.6
[INFO] [stderr]   Downloaded crossterm v0.25.0
[INFO] [stderr]   Downloaded cc v1.0.98
[INFO] [stderr]   Downloaded js-sys v0.3.69
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.92
[INFO] [stderr]   Downloaded clap v4.5.4
[INFO] [stderr]   Downloaded parking_lot_core v0.9.6
[INFO] [stderr]   Downloaded signal-hook-registry v1.4.0
[INFO] [stderr]   Downloaded nu-ansi-term v0.50.0
[INFO] [stderr]   Downloaded thiserror-impl v1.0.61
[INFO] [stderr]   Downloaded thiserror v1.0.61
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.42.1
[INFO] [stderr]   Downloaded libc v0.2.155
[INFO] [stderr]   Downloaded anstyle-parse v0.2.4
[INFO] [stderr]   Downloaded windows_i686_msvc v0.42.1
[INFO] [stderr]   Downloaded anstream v0.6.14
[INFO] [stderr]   Downloaded windows_i686_gnu v0.42.1
[INFO] [stderr]   Downloaded crossterm_winapi v0.9.0
[INFO] [stderr]   Downloaded signal-hook v0.3.14
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.92
[INFO] [stderr]   Downloaded anstyle v1.0.7
[INFO] [stderr]   Downloaded colored v2.1.0
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.42.1
[INFO] [stderr]   Downloaded windows_i686_msvc v0.52.5
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.42.1
[INFO] [stderr]   Downloaded windows_i686_gnullvm v0.52.5
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.42.1
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.52.5
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.52.5
[INFO] [stderr]   Downloaded redox_users v0.4.5
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.52.5
[INFO] [stderr]   Downloaded windows_i686_gnu v0.52.5
[INFO] [stderr]   Downloaded dirs-sys v0.4.1
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.92
[INFO] [stderr]   Downloaded winapi-util v0.1.8
[INFO] [stderr]   Downloaded serde_derive v1.0.203
[INFO] [stderr]   Downloaded toml_datetime v0.6.6
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.52.5
[INFO] [stderr]   Downloaded colorchoice v1.0.1
[INFO] [stderr]   Downloaded is_terminal_polyfill v1.70.0
[INFO] [stderr]   Downloaded signal-hook-mio v0.2.3
[INFO] [stderr]   Downloaded dirs v5.0.1
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.92
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.92
[INFO] [stderr]   Downloaded is-terminal v0.4.12
[INFO] [stderr]   Downloaded flexi_logger v0.28.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8e71e2a62f780b1e2b8295b21858ea36d4dd3139d0acbbf7f430f51acecf2477
[INFO] running `Command { std: "docker" "start" "-a" "8e71e2a62f780b1e2b8295b21858ea36d4dd3139d0acbbf7f430f51acecf2477", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8e71e2a62f780b1e2b8295b21858ea36d4dd3139d0acbbf7f430f51acecf2477", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8e71e2a62f780b1e2b8295b21858ea36d4dd3139d0acbbf7f430f51acecf2477", kill_on_drop: false }`
[INFO] [stdout] 8e71e2a62f780b1e2b8295b21858ea36d4dd3139d0acbbf7f430f51acecf2477
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3078ab29a76847e00eb9789cefae466517c65270196f982a7e78151789bebab0
[INFO] running `Command { std: "docker" "start" "-a" "3078ab29a76847e00eb9789cefae466517c65270196f982a7e78151789bebab0", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.85
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling memchr v2.7.2
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling regex-syntax v0.8.3
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling cc v1.0.98
[INFO] [stderr]    Compiling smallvec v1.10.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.6
[INFO] [stderr]    Compiling signal-hook v0.3.14
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling lock_api v0.4.9
[INFO] [stderr]    Compiling anstyle-parse v0.2.4
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling gimli v0.29.0
[INFO] [stderr]    Compiling anstyle-query v1.1.0
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.0
[INFO] [stderr]    Compiling anstyle v1.0.7
[INFO] [stderr]    Compiling colorchoice v1.0.1
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling bstr v1.9.1
[INFO] [stderr]    Compiling object v0.36.4
[INFO] [stderr]    Compiling miniz_oxide v0.7.4
[INFO] [stderr]    Compiling anstream v0.6.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.0
[INFO] [stderr]    Compiling mio v0.8.5
[INFO] [stderr]    Compiling indexmap v2.2.6
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling anyhow v1.0.89
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.60
[INFO] [stderr]    Compiling pin-project-lite v0.2.14
[INFO] [stderr]    Compiling winnow v0.6.11
[INFO] [stderr]    Compiling rustc-demangle v0.1.24
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling overload v0.1.1
[INFO] [stderr]    Compiling signal-hook-mio v0.2.3
[INFO] [stderr]    Compiling nu-ansi-term v0.46.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling chrono v0.4.38
[INFO] [stderr]    Compiling backtrace v0.3.73
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling clap_builder v4.5.2
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling is-terminal v0.4.12
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling thread_local v1.1.8
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]    Compiling nu-ansi-term v0.50.0
[INFO] [stderr]    Compiling crossterm v0.25.0
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling colored v2.1.0
[INFO] [stderr]    Compiling unicode-width v0.1.10
[INFO] [stderr]    Compiling regex-automata v0.4.6
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling matchers v0.1.0
[INFO] [stderr]    Compiling addr2line v0.22.0
[INFO] [stderr]    Compiling regex v1.10.4
[INFO] [stderr]    Compiling globset v0.4.14
[INFO] [stderr]    Compiling ignore v0.4.22
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling clap_derive v4.5.4
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling tracing-subscriber v0.3.18
[INFO] [stderr]    Compiling flexi_logger v0.28.1
[INFO] [stderr]    Compiling clap v4.5.4
[INFO] [stderr]    Compiling toml_datetime v0.6.6
[INFO] [stderr]    Compiling serde_spanned v0.6.6
[INFO] [stderr]    Compiling toml_edit v0.22.14
[INFO] [stderr]    Compiling toml v0.8.14
[INFO] [stderr]    Compiling champ v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `amp`
[INFO] [stdout]  --> src/cli/show.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{amp, answer, rubr};
[INFO] [stdout]   |             ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]   --> src/cli.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::Write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Write`
[INFO] [stdout]  --> src/amp/parse.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Write`
[INFO] [stdout]  --> src/lex.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/tree/builder.rs:175:31
[INFO] [stdout]     |
[INFO] [stdout] 175 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format`
[INFO] [stdout]    --> src/tree/builder.rs:175:46
[INFO] [stdout]     |
[INFO] [stdout] 175 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]    --> src/tree/builder.rs:175:63
[INFO] [stdout]     |
[INFO] [stdout] 175 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stdout]     |                                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/tree/builder.rs:213:31
[INFO] [stdout]     |
[INFO] [stdout] 213 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format`
[INFO] [stdout]    --> src/tree/builder.rs:213:46
[INFO] [stdout]     |
[INFO] [stdout] 213 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]    --> src/tree/builder.rs:213:63
[INFO] [stdout]     |
[INFO] [stdout] 213 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stdout]     |                                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeyValue` is never constructed
[INFO] [stdout]    --> src/amp.rs:535:12
[INFO] [stdout]     |
[INFO] [stdout] 535 | pub struct KeyValue(pub String, pub Option<String>);
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/amp/parse.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl Stmt {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 52 |     pub fn new(range: Range, kind: Kind) -> Stmt {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `global` is never read
[INFO] [stdout]    --> src/cli.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 193 | struct Config {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] 194 |     global: config::Global,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Config` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/fs.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Node {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/fs.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Node {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 12 |     fn new(path: path::Path) -> Node {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `hidden`, `ignore`, and `max_size` are never read
[INFO] [stdout]   --> src/fs.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct GroveSpec {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub hidden: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 25 |     // &todo: Enable removal of ignored files/folders
[INFO] [stdout] 26 |     pub ignore: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub max_size: Option<usize>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GroveSpec` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Range` is never constructed
[INFO] [stdout]  --> src/path.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum Part {
[INFO] [stdout]   |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 8 |     Range { begin: usize, size: usize },
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Part` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `file`, `current`, and `is_file` are never used
[INFO] [stdout]   --> src/path.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Path {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn file(path: impl AsRef<path::Path>) -> Path {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn current() -> util::Result<Path> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn is_file(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Range` is never used
[INFO] [stdout]  --> src/rubr/strange.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type Range = std::ops::Range<usize>;
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `safepoint` is never read
[INFO] [stdout]   --> src/rubr/strange.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Strange<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 11 |     all: &'a str,
[INFO] [stdout] 12 |     safepoint: &'a str,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Strange` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/rubr/strange.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl<'a> Strange<'a> {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  25 |     pub fn to_str(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  28 |     pub fn to_string(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn read_char(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn unwrite_char_if(&mut self, wanted: char) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn try_unwrite_char_if(&mut self, wanted: char) -> Option<char> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn read_all(&mut self) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn read_until_exc(&mut self, ch: char) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn read_until_exc_or_end<'b>(&'b mut self, ch: char) -> Option<&'a str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn read_until_inc(&mut self, ch: char) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn reset(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn save(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn pop_str(&mut self) -> &str {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn pop_range(&mut self) -> Range {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `until` and `include` are never used
[INFO] [stdout]    --> src/rubr/strange.rs:250:12
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl Config {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub fn until(&mut self, needle: char) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn include(&mut self) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_last` is never used
[INFO] [stdout]    --> src/rubr/strange.rs:280:4
[INFO] [stdout]     |
[INFO] [stdout] 280 | fn split_last<'a>(content: &'a str) -> Option<(&'a str, char)> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/rubr/strange.rs:291:8
[INFO] [stdout]     |
[INFO] [stdout] 291 | pub fn main() {}
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `names` is never read
[INFO] [stdout]   --> src/tree.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Forest {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     names: Vec<String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Forest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reachables` is never read
[INFO] [stdout]   --> src/tree.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct Node {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 45 |     reachables: Vec<usize>, // All other Trees that are recursively reachable
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `connect` and `print` are never used
[INFO] [stdout]    --> src/tree.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout]  76 | impl Forest {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn connect(&mut self) -> util::Result<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn print(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `leaf_to_root`, `leaf_to_root_`, and `print` are never used
[INFO] [stdout]    --> src/tree.rs:254:12
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Tree {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn leaf_to_root(&mut self, mut cb: impl FnMut(&mut Node, &mut Node)) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn leaf_to_root_(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn print(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Aggregate` is never used
[INFO] [stdout]    --> src/tree.rs:319:10
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub enum Aggregate {}
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print` is never used
[INFO] [stdout]    --> src/tree.rs:331:12
[INFO] [stdout]     |
[INFO] [stdout] 330 | impl Node {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] 331 |     pub fn print(&self, content: &str, _format: &Format) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `print` and `print_` are never used
[INFO] [stdout]    --> src/tree/md.rs:263:8
[INFO] [stdout]     |
[INFO] [stdout]  44 | impl Tree {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 263 |     fn print(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     fn print_(&self, node: &Node, os: &mut String, content: &str) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Range` is never used
[INFO] [stdout]    --> src/tree/md.rs:317:6
[INFO] [stdout]     |
[INFO] [stdout] 317 | type Range = std::ops::Range<usize>;
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `print` and `print_` are never used
[INFO] [stdout]    --> src/tree/src.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout]  27 | impl Tree {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn print(&self, content: &str) -> String {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn print_(&self, node: &Node, s: &mut String, content: &str) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ignore.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn new(tree: &Tree, ix: Option<usize>) -> Filter {
[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] 12 |     fn new(tree: &Tree, ix: Option<usize>) -> Filter<'_> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/query.rs:87:25
[INFO] [stdout]    |
[INFO] [stdout] 87 |                         amp_parser.parse(&format!("&{needle_str}"), &amp::parse::Match::OnlyStart);
[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] 87 |                         let _ = amp_parser.parse(&format!("&{needle_str}"), &amp::parse::Match::OnlyStart);
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/query.rs:99:21
[INFO] [stdout]    |
[INFO] [stdout] 99 |                     amp_parser.parse(&format!("&{constraint_str}"), &amp::parse::Match::OnlyStart);
[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] 99 |                     let _ = amp_parser.parse(&format!("&{constraint_str}"), &amp::parse::Match::OnlyStart);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/rubr/naft.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |                 write!(self.fmt, "\n");
[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] 89 |                 let _ = write!(self.fmt, "\n");
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/rubr/naft.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |                 self.indent();
[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] 91 |                 let _ = self.indent();
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/rubr/naft.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 write!(self.fmt, "}}");
[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] 92 |                 let _ = write!(self.fmt, "}}");
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/rubr/naft.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |             write!(self.fmt, "\n");
[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] 95 |             let _ = write!(self.fmt, "\n");
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/rubr/strange.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(content: &str) -> Strange {
[INFO] [stdout]    |                         ^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(content: &str) -> Strange<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/tree.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |             cb(tree, node);
[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] 145 |             let _ = cb(tree, node);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/tree.rs:247:17
[INFO] [stdout]     |
[INFO] [stdout] 247 |                 cb(src, &mut tail[0]);
[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] 247 |                 let _ = cb(src, &mut tail[0]);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/tree.rs:354:9
[INFO] [stdout]     |
[INFO] [stdout] 354 |         self.org.to_naft(b);
[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] 354 |         let _ = self.org.to_naft(b);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/tree.rs:356:9
[INFO] [stdout]     |
[INFO] [stdout] 356 |         self.ctx.to_naft(b);
[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] 356 |         let _ = self.ctx.to_naft(b);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 45.35s
[INFO] running `Command { std: "docker" "inspect" "3078ab29a76847e00eb9789cefae466517c65270196f982a7e78151789bebab0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3078ab29a76847e00eb9789cefae466517c65270196f982a7e78151789bebab0", kill_on_drop: false }`
[INFO] [stdout] 3078ab29a76847e00eb9789cefae466517c65270196f982a7e78151789bebab0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9ca9581f4e56cb4e460ac4a60cfd431f60e060a335575dca132d8d691b5d3a3b
[INFO] running `Command { std: "docker" "start" "-a" "9ca9581f4e56cb4e460ac4a60cfd431f60e060a335575dca132d8d691b5d3a3b", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `amp`
[INFO] [stdout]  --> src/cli/show.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{amp, answer, rubr};
[INFO] [stdout]   |             ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]   --> src/cli.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::Write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Write`
[INFO] [stdout]  --> src/amp/parse.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Write`
[INFO] [stdout]  --> src/lex.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/tree/builder.rs:175:31
[INFO] [stdout]     |
[INFO] [stdout] 175 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format`
[INFO] [stdout]    --> src/tree/builder.rs:175:46
[INFO] [stdout]     |
[INFO] [stdout] 175 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]    --> src/tree/builder.rs:175:63
[INFO] [stdout]     |
[INFO] [stdout] 175 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stdout]     |                                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/tree/builder.rs:213:31
[INFO] [stdout]     |
[INFO] [stdout] 213 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format`
[INFO] [stdout]    --> src/tree/builder.rs:213:46
[INFO] [stdout]     |
[INFO] [stdout] 213 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]    --> src/tree/builder.rs:213:63
[INFO] [stdout]     |
[INFO] [stdout] 213 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stdout]     |                                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeyValue` is never constructed
[INFO] [stdout]    --> src/amp.rs:535:12
[INFO] [stdout]     |
[INFO] [stdout] 535 | pub struct KeyValue(pub String, pub Option<String>);
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/amp/parse.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl Stmt {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 52 |     pub fn new(range: Range, kind: Kind) -> Stmt {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `global` is never read
[INFO] [stdout]    --> src/cli.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 193 | struct Config {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] 194 |     global: config::Global,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Config` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/fs.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Node {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/fs.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Node {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 12 |     fn new(path: path::Path) -> Node {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `hidden`, `ignore`, and `max_size` are never read
[INFO] [stdout]   --> src/fs.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct GroveSpec {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub hidden: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 25 |     // &todo: Enable removal of ignored files/folders
[INFO] [stdout] 26 |     pub ignore: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub max_size: Option<usize>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GroveSpec` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Range` is never constructed
[INFO] [stdout]  --> src/path.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum Part {
[INFO] [stdout]   |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 8 |     Range { begin: usize, size: usize },
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Part` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `file`, `current`, and `is_file` are never used
[INFO] [stdout]   --> src/path.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Path {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn file(path: impl AsRef<path::Path>) -> Path {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn current() -> util::Result<Path> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn is_file(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Range` is never used
[INFO] [stdout]  --> src/rubr/strange.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type Range = std::ops::Range<usize>;
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `safepoint` is never read
[INFO] [stdout]   --> src/rubr/strange.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Strange<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 11 |     all: &'a str,
[INFO] [stdout] 12 |     safepoint: &'a str,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Strange` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/rubr/strange.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl<'a> Strange<'a> {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  25 |     pub fn to_str(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  28 |     pub fn to_string(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn read_char(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn unwrite_char_if(&mut self, wanted: char) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn try_unwrite_char_if(&mut self, wanted: char) -> Option<char> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn read_all(&mut self) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn read_until_exc(&mut self, ch: char) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn read_until_exc_or_end<'b>(&'b mut self, ch: char) -> Option<&'a str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn read_until_inc(&mut self, ch: char) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn reset(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn save(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn pop_str(&mut self) -> &str {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn pop_range(&mut self) -> Range {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `until` and `include` are never used
[INFO] [stdout]    --> src/rubr/strange.rs:250:12
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl Config {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub fn until(&mut self, needle: char) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn include(&mut self) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_last` is never used
[INFO] [stdout]    --> src/rubr/strange.rs:280:4
[INFO] [stdout]     |
[INFO] [stdout] 280 | fn split_last<'a>(content: &'a str) -> Option<(&'a str, char)> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/rubr/strange.rs:291:8
[INFO] [stdout]     |
[INFO] [stdout] 291 | pub fn main() {}
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `names` is never read
[INFO] [stdout]   --> src/tree.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Forest {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     names: Vec<String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Forest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reachables` is never read
[INFO] [stdout]   --> src/tree.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct Node {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 45 |     reachables: Vec<usize>, // All other Trees that are recursively reachable
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `connect` and `print` are never used
[INFO] [stdout]    --> src/tree.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout]  76 | impl Forest {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn connect(&mut self) -> util::Result<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn print(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `leaf_to_root`, `leaf_to_root_`, and `print` are never used
[INFO] [stdout]    --> src/tree.rs:254:12
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Tree {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn leaf_to_root(&mut self, mut cb: impl FnMut(&mut Node, &mut Node)) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn leaf_to_root_(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn print(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Aggregate` is never used
[INFO] [stdout]    --> src/tree.rs:319:10
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub enum Aggregate {}
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print` is never used
[INFO] [stdout]    --> src/tree.rs:331:12
[INFO] [stdout]     |
[INFO] [stdout] 330 | impl Node {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] 331 |     pub fn print(&self, content: &str, _format: &Format) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `print` and `print_` are never used
[INFO] [stdout]    --> src/tree/md.rs:263:8
[INFO] [stdout]     |
[INFO] [stdout]  44 | impl Tree {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 263 |     fn print(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     fn print_(&self, node: &Node, os: &mut String, content: &str) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Range` is never used
[INFO] [stdout]    --> src/tree/md.rs:317:6
[INFO] [stdout]     |
[INFO] [stdout] 317 | type Range = std::ops::Range<usize>;
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `print` and `print_` are never used
[INFO] [stdout]    --> src/tree/src.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout]  27 | impl Tree {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn print(&self, content: &str) -> String {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn print_(&self, node: &Node, s: &mut String, content: &str) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ignore.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn new(tree: &Tree, ix: Option<usize>) -> Filter {
[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] 12 |     fn new(tree: &Tree, ix: Option<usize>) -> Filter<'_> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling champ v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/query.rs:87:25
[INFO] [stdout]    |
[INFO] [stdout] 87 |                         amp_parser.parse(&format!("&{needle_str}"), &amp::parse::Match::OnlyStart);
[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] 87 |                         let _ = amp_parser.parse(&format!("&{needle_str}"), &amp::parse::Match::OnlyStart);
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/query.rs:99:21
[INFO] [stdout]    |
[INFO] [stdout] 99 |                     amp_parser.parse(&format!("&{constraint_str}"), &amp::parse::Match::OnlyStart);
[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] 99 |                     let _ = amp_parser.parse(&format!("&{constraint_str}"), &amp::parse::Match::OnlyStart);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/rubr/naft.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |                 write!(self.fmt, "\n");
[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] 89 |                 let _ = write!(self.fmt, "\n");
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/rubr/naft.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |                 self.indent();
[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] 91 |                 let _ = self.indent();
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/rubr/naft.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 write!(self.fmt, "}}");
[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] 92 |                 let _ = write!(self.fmt, "}}");
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/rubr/naft.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |             write!(self.fmt, "\n");
[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] 95 |             let _ = write!(self.fmt, "\n");
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/rubr/strange.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(content: &str) -> Strange {
[INFO] [stdout]    |                         ^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(content: &str) -> Strange<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/tree.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |             cb(tree, node);
[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] 145 |             let _ = cb(tree, node);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/tree.rs:247:17
[INFO] [stdout]     |
[INFO] [stdout] 247 |                 cb(src, &mut tail[0]);
[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] 247 |                 let _ = cb(src, &mut tail[0]);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/tree.rs:354:9
[INFO] [stdout]     |
[INFO] [stdout] 354 |         self.org.to_naft(b);
[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] 354 |         let _ = self.org.to_naft(b);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/tree.rs:356:9
[INFO] [stdout]     |
[INFO] [stdout] 356 |         self.ctx.to_naft(b);
[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] 356 |         let _ = self.ctx.to_naft(b);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `amp`
[INFO] [stdout]  --> src/cli/show.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{amp, answer, rubr};
[INFO] [stdout]   |             ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]   --> src/cli.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::Write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Write`
[INFO] [stdout]  --> src/lex.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/rubr/naft.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |             let b = b.nest();
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/tree/builder.rs:175:31
[INFO] [stdout]     |
[INFO] [stdout] 175 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format`
[INFO] [stdout]    --> src/tree/builder.rs:175:46
[INFO] [stdout]     |
[INFO] [stdout] 175 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]    --> src/tree/builder.rs:175:63
[INFO] [stdout]     |
[INFO] [stdout] 175 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stdout]     |                                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/tree/builder.rs:213:31
[INFO] [stdout]     |
[INFO] [stdout] 213 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format`
[INFO] [stdout]    --> src/tree/builder.rs:213:46
[INFO] [stdout]     |
[INFO] [stdout] 213 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]    --> src/tree/builder.rs:213:63
[INFO] [stdout]     |
[INFO] [stdout] 213 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stdout]     |                                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeyValue` is never constructed
[INFO] [stdout]    --> src/amp.rs:535:12
[INFO] [stdout]     |
[INFO] [stdout] 535 | pub struct KeyValue(pub String, pub Option<String>);
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/amp/parse.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl Stmt {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 52 |     pub fn new(range: Range, kind: Kind) -> Stmt {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `global` is never read
[INFO] [stdout]    --> src/cli.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 193 | struct Config {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] 194 |     global: config::Global,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Config` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/fs.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Node {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/fs.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Node {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 12 |     fn new(path: path::Path) -> Node {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `hidden`, `ignore`, and `max_size` are never read
[INFO] [stdout]   --> src/fs.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct GroveSpec {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub hidden: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 25 |     // &todo: Enable removal of ignored files/folders
[INFO] [stdout] 26 |     pub ignore: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub max_size: Option<usize>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GroveSpec` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Range` is never constructed
[INFO] [stdout]  --> src/path.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum Part {
[INFO] [stdout]   |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 8 |     Range { begin: usize, size: usize },
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Part` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_file` is never used
[INFO] [stdout]   --> src/path.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Path {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn is_file(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_string`, `read_char`, `unwrite_char_if`, `try_unwrite_char_if`, and `read_all` are never used
[INFO] [stdout]   --> src/rubr/strange.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl<'a> Strange<'a> {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn to_string(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn read_char(&mut self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn unwrite_char_if(&mut self, wanted: char) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn try_unwrite_char_if(&mut self, wanted: char) -> Option<char> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn read_all(&mut self) -> Option<&str> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `until` and `include` are never used
[INFO] [stdout]    --> src/rubr/strange.rs:250:12
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl Config {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub fn until(&mut self, needle: char) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn include(&mut self) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_last` is never used
[INFO] [stdout]    --> src/rubr/strange.rs:280:4
[INFO] [stdout]     |
[INFO] [stdout] 280 | fn split_last<'a>(content: &'a str) -> Option<(&'a str, char)> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/rubr/strange.rs:291:8
[INFO] [stdout]     |
[INFO] [stdout] 291 | pub fn main() {}
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `names` is never read
[INFO] [stdout]   --> src/tree.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Forest {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     names: Vec<String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Forest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reachables` is never read
[INFO] [stdout]   --> src/tree.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct Node {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 45 |     reachables: Vec<usize>, // All other Trees that are recursively reachable
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print` is never used
[INFO] [stdout]    --> src/tree.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout]  76 | impl Forest {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn print(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `leaf_to_root`, `leaf_to_root_`, and `print` are never used
[INFO] [stdout]    --> src/tree.rs:254:12
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Tree {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn leaf_to_root(&mut self, mut cb: impl FnMut(&mut Node, &mut Node)) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn leaf_to_root_(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn print(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Aggregate` is never used
[INFO] [stdout]    --> src/tree.rs:319:10
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub enum Aggregate {}
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print` is never used
[INFO] [stdout]    --> src/tree.rs:331:12
[INFO] [stdout]     |
[INFO] [stdout] 330 | impl Node {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] 331 |     pub fn print(&self, content: &str, _format: &Format) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Range` is never used
[INFO] [stdout]    --> src/tree/md.rs:317:6
[INFO] [stdout]     |
[INFO] [stdout] 317 | type Range = std::ops::Range<usize>;
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/amp/parse.rs:319:13
[INFO] [stdout]     |
[INFO] [stdout] 319 |             parser.parse(content, m);
[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] 319 |             let _ = parser.parse(content, m);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ignore.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn new(tree: &Tree, ix: Option<usize>) -> Filter {
[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] 12 |     fn new(tree: &Tree, ix: Option<usize>) -> Filter<'_> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/query.rs:87:25
[INFO] [stdout]    |
[INFO] [stdout] 87 |                         amp_parser.parse(&format!("&{needle_str}"), &amp::parse::Match::OnlyStart);
[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] 87 |                         let _ = amp_parser.parse(&format!("&{needle_str}"), &amp::parse::Match::OnlyStart);
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/query.rs:99:21
[INFO] [stdout]    |
[INFO] [stdout] 99 |                     amp_parser.parse(&format!("&{constraint_str}"), &amp::parse::Match::OnlyStart);
[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] 99 |                     let _ = amp_parser.parse(&format!("&{constraint_str}"), &amp::parse::Match::OnlyStart);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/rubr/naft.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |                 write!(self.fmt, "\n");
[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] 89 |                 let _ = write!(self.fmt, "\n");
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/rubr/naft.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |                 self.indent();
[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] 91 |                 let _ = self.indent();
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/rubr/naft.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 write!(self.fmt, "}}");
[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] 92 |                 let _ = write!(self.fmt, "}}");
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/rubr/naft.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |             write!(self.fmt, "\n");
[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] 95 |             let _ = write!(self.fmt, "\n");
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/rubr/naft.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |             self.b0.to_naft(&mut b);
[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] 141 |             let _ = self.b0.to_naft(&mut b);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/rubr/naft.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |             self.b1.to_naft(&mut b);
[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] 143 |             let _ = self.b1.to_naft(&mut b);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/rubr/strange.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(content: &str) -> Strange {
[INFO] [stdout]    |                         ^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(content: &str) -> Strange<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/tree.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |             cb(tree, node);
[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] 145 |             let _ = cb(tree, node);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/tree.rs:247:17
[INFO] [stdout]     |
[INFO] [stdout] 247 |                 cb(src, &mut tail[0]);
[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] 247 |                 let _ = cb(src, &mut tail[0]);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/tree.rs:354:9
[INFO] [stdout]     |
[INFO] [stdout] 354 |         self.org.to_naft(b);
[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] 354 |         let _ = self.org.to_naft(b);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/tree.rs:356:9
[INFO] [stdout]     |
[INFO] [stdout] 356 |         self.ctx.to_naft(b);
[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] 356 |         let _ = self.ctx.to_naft(b);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.45s
[INFO] running `Command { std: "docker" "inspect" "9ca9581f4e56cb4e460ac4a60cfd431f60e060a335575dca132d8d691b5d3a3b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9ca9581f4e56cb4e460ac4a60cfd431f60e060a335575dca132d8d691b5d3a3b", kill_on_drop: false }`
[INFO] [stdout] 9ca9581f4e56cb4e460ac4a60cfd431f60e060a335575dca132d8d691b5d3a3b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 71042f3ad62a1b5085ddd96985d855bb1b1fc88c48138a5a4cebc3f69c6ed066
[INFO] running `Command { std: "docker" "start" "-a" "71042f3ad62a1b5085ddd96985d855bb1b1fc88c48138a5a4cebc3f69c6ed066", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `amp`
[INFO] [stderr]  --> src/cli/show.rs:1:13
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::{amp, answer, rubr};
[INFO] [stderr]   |             ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Write`
[INFO] [stderr]   --> src/cli.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::io::Write;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Write`
[INFO] [stderr]  --> src/amp/parse.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::fmt::Write;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Write`
[INFO] [stderr]  --> src/lex.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::fmt::Write;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `content`
[INFO] [stderr]    --> src/tree/builder.rs:175:31
[INFO] [stderr]     |
[INFO] [stderr] 175 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stderr]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `format`
[INFO] [stderr]    --> src/tree/builder.rs:175:46
[INFO] [stderr]     |
[INFO] [stderr] 175 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stderr]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_format`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `filename`
[INFO] [stderr]    --> src/tree/builder.rs:175:63
[INFO] [stderr]     |
[INFO] [stderr] 175 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stderr]     |                                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `content`
[INFO] [stderr]    --> src/tree/builder.rs:213:31
[INFO] [stderr]     |
[INFO] [stderr] 213 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stderr]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `format`
[INFO] [stderr]    --> src/tree/builder.rs:213:46
[INFO] [stderr]     |
[INFO] [stderr] 213 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stderr]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_format`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `filename`
[INFO] [stderr]    --> src/tree/builder.rs:213:63
[INFO] [stderr]     |
[INFO] [stderr] 213 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stderr]     |                                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `KeyValue` is never constructed
[INFO] [stderr]    --> src/amp.rs:535:12
[INFO] [stderr]     |
[INFO] [stderr] 535 | pub struct KeyValue(pub String, pub Option<String>);
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/amp/parse.rs:52:12
[INFO] [stderr]    |
[INFO] [stderr] 51 | impl Stmt {
[INFO] [stderr]    | --------- associated function in this implementation
[INFO] [stderr] 52 |     pub fn new(range: Range, kind: Kind) -> Stmt {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `global` is never read
[INFO] [stderr]    --> src/cli.rs:194:5
[INFO] [stderr]     |
[INFO] [stderr] 193 | struct Config {
[INFO] [stderr]     |        ------ field in this struct
[INFO] [stderr] 194 |     global: config::Global,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Config` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Node` is never constructed
[INFO] [stderr]  --> src/fs.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub struct Node {
[INFO] [stderr]   |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/fs.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 11 | impl Node {
[INFO] [stderr]    | --------- associated function in this implementation
[INFO] [stderr] 12 |     fn new(path: path::Path) -> Node {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `hidden`, `ignore`, and `max_size` are never read
[INFO] [stderr]   --> src/fs.rs:24:9
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub struct GroveSpec {
[INFO] [stderr]    |            --------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 24 |     pub hidden: bool,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 25 |     // &todo: Enable removal of ignored files/folders
[INFO] [stderr] 26 |     pub ignore: bool,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 30 |     pub max_size: Option<usize>,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `GroveSpec` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Range` is never constructed
[INFO] [stderr]  --> src/path.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub enum Part {
[INFO] [stderr]   |          ---- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 8 |     Range { begin: usize, size: usize },
[INFO] [stderr]   |     ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Part` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `file`, `current`, and `is_file` are never used
[INFO] [stderr]   --> src/path.rs:32:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl Path {
[INFO] [stderr]    | --------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 32 |     pub fn file(path: impl AsRef<path::Path>) -> Path {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 42 |     pub fn current() -> util::Result<Path> {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 97 |     pub fn is_file(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Range` is never used
[INFO] [stderr]  --> src/rubr/strange.rs:5:10
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub type Range = std::ops::Range<usize>;
[INFO] [stderr]   |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `safepoint` is never read
[INFO] [stderr]   --> src/rubr/strange.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct Strange<'a> {
[INFO] [stderr]    |            ------- field in this struct
[INFO] [stderr] 11 |     all: &'a str,
[INFO] [stderr] 12 |     safepoint: &'a str,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Strange` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/rubr/strange.rs:25:12
[INFO] [stderr]     |
[INFO] [stderr]  16 | impl<'a> Strange<'a> {
[INFO] [stderr]     | -------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  25 |     pub fn to_str(&self) -> &str {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  28 |     pub fn to_string(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  43 |     pub fn read_char(&mut self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  77 |     pub fn unwrite_char_if(&mut self, wanted: char) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  81 |     pub fn try_unwrite_char_if(&mut self, wanted: char) -> Option<char> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  89 |     pub fn read_all(&mut self) -> Option<&str> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  97 |     pub fn read_until_exc(&mut self, ch: char) -> Option<&str> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 104 |     pub fn read_until_exc_or_end<'b>(&'b mut self, ch: char) -> Option<&'a str> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 121 |     pub fn read_until_inc(&mut self, ch: char) -> Option<&str> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 209 |     pub fn reset(&mut self) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 213 |     pub fn save(&mut self) {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 217 |     pub fn pop_str(&mut self) -> &str {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 222 |     pub fn pop_range(&mut self) -> Range {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `until` and `include` are never used
[INFO] [stderr]    --> src/rubr/strange.rs:250:12
[INFO] [stderr]     |
[INFO] [stderr] 241 | impl Config {
[INFO] [stderr]     | ----------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 250 |     pub fn until(&mut self, needle: char) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 256 |     pub fn include(&mut self) -> &mut Self {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `split_last` is never used
[INFO] [stderr]    --> src/rubr/strange.rs:280:4
[INFO] [stderr]     |
[INFO] [stderr] 280 | fn split_last<'a>(content: &'a str) -> Option<(&'a str, char)> {
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `main` is never used
[INFO] [stderr]    --> src/rubr/strange.rs:291:8
[INFO] [stderr]     |
[INFO] [stderr] 291 | pub fn main() {}
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `names` is never read
[INFO] [stderr]   --> src/tree.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub struct Forest {
[INFO] [stderr]    |            ------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 18 |     names: Vec<String>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Forest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `reachables` is never read
[INFO] [stderr]   --> src/tree.rs:45:5
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub struct Node {
[INFO] [stderr]    |            ---- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 45 |     reachables: Vec<usize>, // All other Trees that are recursively reachable
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `connect` and `print` are never used
[INFO] [stderr]    --> src/tree.rs:154:12
[INFO] [stderr]     |
[INFO] [stderr]  76 | impl Forest {
[INFO] [stderr]     | ----------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 154 |     pub fn connect(&mut self) -> util::Result<()> {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 158 |     pub fn print(&self) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `leaf_to_root`, `leaf_to_root_`, and `print` are never used
[INFO] [stderr]    --> src/tree.rs:254:12
[INFO] [stderr]     |
[INFO] [stderr] 166 | impl Tree {
[INFO] [stderr]     | --------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 254 |     pub fn leaf_to_root(&mut self, mut cb: impl FnMut(&mut Node, &mut Node)) {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 258 |     fn leaf_to_root_(
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 275 |     pub fn print(&self) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Aggregate` is never used
[INFO] [stderr]    --> src/tree.rs:319:10
[INFO] [stderr]     |
[INFO] [stderr] 319 | pub enum Aggregate {}
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `print` is never used
[INFO] [stderr]    --> src/tree.rs:331:12
[INFO] [stderr]     |
[INFO] [stderr] 330 | impl Node {
[INFO] [stderr]     | --------- method in this implementation
[INFO] [stderr] 331 |     pub fn print(&self, content: &str, _format: &Format) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `print` and `print_` are never used
[INFO] [stderr]    --> src/tree/md.rs:263:8
[INFO] [stderr]     |
[INFO] [stderr]  44 | impl Tree {
[INFO] [stderr]     | --------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 263 |     fn print(&self, content: &str) -> String {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 270 |     fn print_(&self, node: &Node, os: &mut String, content: &str) {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Range` is never used
[INFO] [stderr]    --> src/tree/md.rs:317:6
[INFO] [stderr]     |
[INFO] [stderr] 317 | type Range = std::ops::Range<usize>;
[INFO] [stderr]     |      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `print` and `print_` are never used
[INFO] [stderr]    --> src/tree/src.rs:116:12
[INFO] [stderr]     |
[INFO] [stderr]  27 | impl Tree {
[INFO] [stderr]     | --------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 116 |     pub fn print(&self, content: &str) -> String {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 121 |     fn print_(&self, node: &Node, s: &mut String, content: &str) {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ignore.rs:12:18
[INFO] [stderr]    |
[INFO] [stderr] 12 |     fn new(tree: &Tree, ix: Option<usize>) -> Filter {
[INFO] [stderr]    |                  ^^^^^                        ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                  |
[INFO] [stderr]    |                  the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 12 |     fn new(tree: &Tree, ix: Option<usize>) -> Filter<'_> {
[INFO] [stderr]    |                                                     ++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/query.rs:87:25
[INFO] [stderr]    |
[INFO] [stderr] 87 |                         amp_parser.parse(&format!("&{needle_str}"), &amp::parse::Match::OnlyStart);
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 87 |                         let _ = amp_parser.parse(&format!("&{needle_str}"), &amp::parse::Match::OnlyStart);
[INFO] [stderr]    |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/query.rs:99:21
[INFO] [stderr]    |
[INFO] [stderr] 99 |                     amp_parser.parse(&format!("&{constraint_str}"), &amp::parse::Match::OnlyStart);
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 99 |                     let _ = amp_parser.parse(&format!("&{constraint_str}"), &amp::parse::Match::OnlyStart);
[INFO] [stderr]    |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/rubr/naft.rs:89:17
[INFO] [stderr]    |
[INFO] [stderr] 89 |                 write!(self.fmt, "\n");
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 89 |                 let _ = write!(self.fmt, "\n");
[INFO] [stderr]    |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/rubr/naft.rs:91:17
[INFO] [stderr]    |
[INFO] [stderr] 91 |                 self.indent();
[INFO] [stderr]    |                 ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 91 |                 let _ = self.indent();
[INFO] [stderr]    |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/rubr/naft.rs:92:17
[INFO] [stderr]    |
[INFO] [stderr] 92 |                 write!(self.fmt, "}}");
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 92 |                 let _ = write!(self.fmt, "}}");
[INFO] [stderr]    |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/rubr/naft.rs:95:13
[INFO] [stderr]    |
[INFO] [stderr] 95 |             write!(self.fmt, "\n");
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 95 |             let _ = write!(self.fmt, "\n");
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/rubr/strange.rs:17:25
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub fn new(content: &str) -> Strange {
[INFO] [stderr]    |                         ^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub fn new(content: &str) -> Strange<'_> {
[INFO] [stderr]    |                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/tree.rs:145:13
[INFO] [stderr]     |
[INFO] [stderr] 145 |             cb(tree, node);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 145 |             let _ = cb(tree, node);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/tree.rs:247:17
[INFO] [stderr]     |
[INFO] [stderr] 247 |                 cb(src, &mut tail[0]);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 247 |                 let _ = cb(src, &mut tail[0]);
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/tree.rs:354:9
[INFO] [stderr]     |
[INFO] [stderr] 354 |         self.org.to_naft(b);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 354 |         let _ = self.org.to_naft(b);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/tree.rs:356:9
[INFO] [stderr]     |
[INFO] [stderr] 356 |         self.ctx.to_naft(b);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 356 |         let _ = self.ctx.to_naft(b);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `b`
[INFO] [stderr]    --> src/rubr/naft.rs:125:17
[INFO] [stderr]     |
[INFO] [stderr] 125 |             let b = b.nest();
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `content`
[INFO] [stderr]    --> src/tree/builder.rs:175:31
[INFO] [stderr]     |
[INFO] [stderr] 175 |             |node: &mut Node, content: &str, format: &Format, filename: &std::path::PathBuf| {
[INFO] [stderr]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_file` is never used
[INFO] [stderr]   --> src/path.rs:97:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl Path {
[INFO] [stderr]    | --------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 97 |     pub fn is_file(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `to_string`, `read_char`, `unwrite_char_if`, `try_unwrite_char_if`, and `read_all` are never used
[INFO] [stderr]   --> src/rubr/strange.rs:28:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl<'a> Strange<'a> {
[INFO] [stderr]    | -------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 28 |     pub fn to_string(&self) -> String {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 43 |     pub fn read_char(&mut self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 77 |     pub fn unwrite_char_if(&mut self, wanted: char) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 81 |     pub fn try_unwrite_char_if(&mut self, wanted: char) -> Option<char> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 89 |     pub fn read_all(&mut self) -> Option<&str> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `print` is never used
[INFO] [stderr]    --> src/tree.rs:158:12
[INFO] [stderr]     |
[INFO] [stderr]  76 | impl Forest {
[INFO] [stderr]     | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 158 |     pub fn print(&self) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/amp/parse.rs:319:13
[INFO] [stderr]     |
[INFO] [stderr] 319 |             parser.parse(content, m);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 319 |             let _ = parser.parse(content, m);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/query.rs:87:25
[INFO] [stderr]    |
[INFO] [stderr] 87 |                         amp_parser.parse(&format!("&{needle_str}"), &amp::parse::Match::OnlyStart);
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 87 |                         let _ = amp_parser.parse(&format!("&{needle_str}"), &amp::parse::Match::OnlyStart);
[INFO] [stderr]    |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/rubr/naft.rs:141:13
[INFO] [stderr]     |
[INFO] [stderr] 141 |             self.b0.to_naft(&mut b);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 141 |             let _ = self.b0.to_naft(&mut b);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/rubr/naft.rs:143:13
[INFO] [stderr]     |
[INFO] [stderr] 143 |             self.b1.to_naft(&mut b);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 143 |             let _ = self.b1.to_naft(&mut b);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `champ` (lib) generated 45 warnings (run `cargo fix --lib -p champ` to apply 10 suggestions)
[INFO] [stderr] warning: `champ` (lib test) generated 44 warnings (35 duplicates) (run `cargo fix --lib -p champ --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/champ-2d3024e35ec360fc)
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test amp::parse::tests::test_parse ... ok
[INFO] [stdout] test amp::tests::test_date_try_from ... ok
[INFO] [stdout] test amp::tests::test_duration_try_from ... ok
[INFO] [stdout] test amp::tests::test_path_matches_with_prio ... ok
[INFO] [stdout] test amp::tests::test_path_try_from ... ok
[INFO] [stdout] test amp::tests::test_prio_try_from ... ok
[INFO] [stdout] test answer::tests::test_api ... ok
[INFO] [stdout] test amp::tests::test_paths_matches_with ... ok
[INFO] [stdout] test amp::tests::test_path_create_from_template ... ok
[INFO] [stdout] test amp::tests::test_path_matches_with_text ... ok
[INFO] [stdout] test lex::tests::test_tokenize ... ok
[INFO] [stdout] test path::tests::test_path_buf ... ok
[INFO] [stdout] test path::tests::test_relative ... ok
[INFO] [stdout] test query::tests::test_api ... ok
[INFO] [stdout] test rubr::counter::tests::test_counter_with_end ... ok
[INFO] [stdout] test rubr::strange::tests::test_read_decimals ... ok
[INFO] [stdout] test rubr::strange::tests::test_read_number ... ok
[INFO] [stdout] test rubr::strange::tests::test_read_until ... ok
[INFO] [stdout] test rubr::strange::tests::test_scn ... ok
[INFO] [stdout] test rubr::naft::tests::test_api ... ok
[INFO] [stdout] test tree::builder::tests::test_api ... ok
[INFO] [stdout] test tree::md::tests::test_tree ... ok
[INFO] [stdout] test tree::src::tests::test_tree ... ok
[INFO] [stdout] test rubr::counter::tests::test_counter_without_end ... ok
[INFO] [stdout] test fs::tests::test_list ... ok
[INFO] [stdout] test ignore::tests::test_tree ... ok
[INFO] [stdout] test rubr::strange::tests::test_perf ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/champ-478c3d7190e4c131)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests champ
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "71042f3ad62a1b5085ddd96985d855bb1b1fc88c48138a5a4cebc3f69c6ed066", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "71042f3ad62a1b5085ddd96985d855bb1b1fc88c48138a5a4cebc3f69c6ed066", kill_on_drop: false }`
[INFO] [stdout] 71042f3ad62a1b5085ddd96985d855bb1b1fc88c48138a5a4cebc3f69c6ed066
