[INFO] fetching crate antlr-rust 0.3.0-beta...
[INFO] checking antlr-rust-0.3.0-beta against try#47af3d0de9d26c7deba4cfb203b710cc3f764e91 for pr-130443
[INFO] extracting crate antlr-rust 0.3.0-beta into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate antlr-rust 0.3.0-beta on toolchain 47af3d0de9d26c7deba4cfb203b710cc3f764e91
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+47af3d0de9d26c7deba4cfb203b710cc3f764e91" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate antlr-rust 0.3.0-beta
[INFO] finished tweaking crates.io crate antlr-rust 0.3.0-beta
[INFO] tweaked toml for crates.io crate antlr-rust 0.3.0-beta written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+47af3d0de9d26c7deba4cfb203b710cc3f764e91" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 23 packages to latest compatible versions
[INFO] [stderr]       Adding bit-set v0.5.3 (available: v0.8.0)
[INFO] [stderr]       Adding bit-vec v0.6.3 (available: v0.8.0)
[INFO] [stderr]       Adding bitflags v1.3.2 (available: v2.6.0)
[INFO] [stderr]       Adding murmur3 v0.4.1 (available: v0.5.2)
[INFO] [stderr]       Adding parking_lot v0.11.2 (available: v0.12.3)
[INFO] [stderr]       Adding parking_lot_core v0.8.6 (available: v0.9.10)
[INFO] [stderr]       Adding redox_syscall v0.2.16 (available: v0.5.4)
[INFO] [stderr]       Adding uuid v0.8.2 (available: v1.10.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+47af3d0de9d26c7deba4cfb203b710cc3f764e91" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+47af3d0de9d26c7deba4cfb203b710cc3f764e91" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] eadcf3b989fcd89566f335071b6b56163b1dca13bc8d9e6d16ee8bec19112d5e
[INFO] running `Command { std: "docker" "start" "-a" "eadcf3b989fcd89566f335071b6b56163b1dca13bc8d9e6d16ee8bec19112d5e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "eadcf3b989fcd89566f335071b6b56163b1dca13bc8d9e6d16ee8bec19112d5e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eadcf3b989fcd89566f335071b6b56163b1dca13bc8d9e6d16ee8bec19112d5e", kill_on_drop: false }`
[INFO] [stdout] eadcf3b989fcd89566f335071b6b56163b1dca13bc8d9e6d16ee8bec19112d5e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+47af3d0de9d26c7deba4cfb203b710cc3f764e91" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] deab4cbf2e68d8b517bd15fc5385c0c517534eb0bf9e2571046b71c310f206ef
[INFO] running `Command { std: "docker" "start" "-a" "deab4cbf2e68d8b517bd15fc5385c0c517534eb0bf9e2571046b71c310f206ef", kill_on_drop: false }`
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]     Checking better_any v0.2.0
[INFO] [stderr]     Checking typed-arena v2.0.2
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]     Checking murmur3 v0.4.1
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking antlr-rust v0.3.0-beta (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused attribute `allow`
[INFO] [stdout]   --> src/token_factory.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[allow(non_upper_case_globals)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the built-in attribute `allow` will be ignored, since it's applied to the macro invocation `lazy_static`
[INFO] [stdout]   --> src/token_factory.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | lazy_static! {
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Tid`
[INFO] [stdout]   --> src/token_factory.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | use better_any::{Tid, TidAble};
[INFO] [stdout]    |                  ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TidAble` and `Tid`
[INFO] [stdout]   --> src/token_stream.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | use better_any::{Tid, TidAble};
[INFO] [stdout]    |                  ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::atn::INVALID_ALT`
[INFO] [stdout]   --> src/tree.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::atn::INVALID_ALT;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RuleContextExt`
[INFO] [stdout]   --> src/tree.rs:16:53
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::parser_rule_context::{ParserRuleContext, RuleContextExt};
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TidAble` and `Tid`
[INFO] [stdout]   --> src/tree.rs:22:18
[INFO] [stdout]    |
[INFO] [stdout] 22 | use better_any::{Tid, TidAble};
[INFO] [stdout]    |                  ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TidAble` and `Tid`
[INFO] [stdout]  --> src/common_token_stream.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use better_any::{Tid, TidAble};
[INFO] [stdout]   |                  ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `better_any::TidAble`
[INFO] [stdout]  --> src/input_stream.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use better_any::TidAble;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Tid`
[INFO] [stdout]   --> src/parser.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 26 | use better_any::{Tid, TidAble};
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Tid`
[INFO] [stdout]   --> src/rule_context.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | use better_any::{Tid, TidAble};
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused attribute `allow`
[INFO] [stdout]   --> src/token_factory.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[allow(non_upper_case_globals)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the built-in attribute `allow` will be ignored, since it's applied to the macro invocation `lazy_static`
[INFO] [stdout]   --> src/token_factory.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | lazy_static! {
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Tid`
[INFO] [stdout]   --> src/token_factory.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | use better_any::{Tid, TidAble};
[INFO] [stdout]    |                  ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TidAble` and `Tid`
[INFO] [stdout]   --> src/token_stream.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | use better_any::{Tid, TidAble};
[INFO] [stdout]    |                  ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::atn::INVALID_ALT`
[INFO] [stdout]   --> src/tree.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::atn::INVALID_ALT;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RuleContextExt`
[INFO] [stdout]   --> src/tree.rs:16:53
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::parser_rule_context::{ParserRuleContext, RuleContextExt};
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TidAble` and `Tid`
[INFO] [stdout]   --> src/tree.rs:22:18
[INFO] [stdout]    |
[INFO] [stdout] 22 | use better_any::{Tid, TidAble};
[INFO] [stdout]    |                  ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TidAble` and `Tid`
[INFO] [stdout]  --> src/common_token_stream.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use better_any::{Tid, TidAble};
[INFO] [stdout]   |                  ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `better_any::TidAble`
[INFO] [stdout]  --> src/input_stream.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use better_any::TidAble;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Tid`
[INFO] [stdout]   --> src/parser.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 26 | use better_any::{Tid, TidAble};
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Tid`
[INFO] [stdout]   --> src/rule_context.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | use better_any::{Tid, TidAble};
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/error_strategy.rs:584:13
[INFO] [stdout]     |
[INFO] [stdout] 580 | /             loop {
[INFO] [stdout] 581 | |                 ctx.set_exception(e.clone());
[INFO] [stdout] 582 | |                 ctx = ctx.get_parent()?
[INFO] [stdout] 583 | |             }
[INFO] [stdout]     | |_____________- any code following this expression is unreachable
[INFO] [stdout] 584 |               Some(())
[INFO] [stdout]     |               ^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/error_strategy.rs:584:13
[INFO] [stdout]     |
[INFO] [stdout] 580 | /             loop {
[INFO] [stdout] 581 | |                 ctx.set_exception(e.clone());
[INFO] [stdout] 582 | |                 ctx = ctx.get_parent()?
[INFO] [stdout] 583 | |             }
[INFO] [stdout]     | |_____________- any code following this expression is unreachable
[INFO] [stdout] 584 |               Some(())
[INFO] [stdout]     |               ^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rule_names`
[INFO] [stdout]    --> src/tree.rs:144:29
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn get_node_text(&self, rule_names: &[&str]) -> String {
[INFO] [stdout]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rule_names`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aggregate`
[INFO] [stdout]    --> src/tree.rs:294:33
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn aggregate_results(&self, aggregate: Self::Return, next: Self::Return) -> Self::Return {
[INFO] [stdout]     |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggregate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/tree.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 300 |         node: &<Self::Node as ParserNodeType<'input>>::Type,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current`
[INFO] [stdout]    --> src/tree.rs:301:9
[INFO] [stdout]     |
[INFO] [stdout] 301 |         current: &Self::Return,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rule_names`
[INFO] [stdout]    --> src/tree.rs:144:29
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn get_node_text(&self, rule_names: &[&str]) -> String {
[INFO] [stdout]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rule_names`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aggregate`
[INFO] [stdout]    --> src/tree.rs:294:33
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn aggregate_results(&self, aggregate: Self::Return, next: Self::Return) -> Self::Return {
[INFO] [stdout]     |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggregate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/tree.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 300 |         node: &<Self::Node as ParserNodeType<'input>>::Type,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current`
[INFO] [stdout]    --> src/tree.rs:301:9
[INFO] [stdout]     |
[INFO] [stdout] 301 |         current: &Self::Return,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `read_only` and `generate_rule_bypass_transitions` are never read
[INFO] [stdout]  --> src/atn_deserialization_options.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct ATNDeserializationOptions {
[INFO] [stdout]   |            ------------------------- fields in this struct
[INFO] [stdout] 3 |     read_only: bool,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 4 |     verify_atn: bool,
[INFO] [stdout] 5 |     generate_rule_bypass_transitions: bool,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ATNDeserializationOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `drop` is never used
[INFO] [stdout]   --> src/dfa.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) trait ScopeExt: Sized {
[INFO] [stdout]    |                  -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn drop(self) {}
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `predicate_index` is never read
[INFO] [stdout]    --> src/errors.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub struct FailedPredicateError {
[INFO] [stdout]     |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 225 |     predicate_index: isize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailedPredicateError` 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: trait `Sealed` is never used
[INFO] [stdout]   --> src/utils.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait Sealed {}
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/lib.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |     fn coerce_rc(from: Rc<T>) -> Rc<Self>;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout] 15  | #![warn(missing_docs)] // warn if there is missing docs
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/lib.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     fn coerce_box(from: Box<T>) -> Box<Self>;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/lib.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn coerce_ref(from: &T) -> &Self;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/lib.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn coerce_mut(from: &mut T) -> &mut Self;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/lib.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 220 |     fn coerce_rc_to(self: Rc<Self>) -> Rc<T>;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/lib.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn coerce_box_to(self: Box<Self>) -> Box<T>;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/lib.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 |     fn coerce_ref_to(self: &Self) -> &T;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/lib.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 223 |     fn coerce_mut_to(self: &mut Self) -> &mut T;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> src/tree.rs:248:1
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub trait ParseTreeVisitorCompat<'input>: VisitChildren<'input, Self::Node> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated type
[INFO] [stdout]    --> src/tree.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 249 |     type Node: ParserNodeType<'input>;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated type
[INFO] [stdout]    --> src/tree.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     type Return: Default;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/tree.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     fn visit(&mut self, node: &<Self::Node as ParserNodeType<'input>>::Type) -> Self::Return {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/tree.rs:278:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | /     fn visit_children(
[INFO] [stdout] 279 | |         &mut self,
[INFO] [stdout] 280 | |         node: &<Self::Node as ParserNodeType<'input>>::Type,
[INFO] [stdout] 281 | |     ) -> Self::Return {
[INFO] [stdout]     | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/tree.rs:294:5
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn aggregate_results(&self, aggregate: Self::Return, next: Self::Return) -> Self::Return {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/tree.rs:298:5
[INFO] [stdout]     |
[INFO] [stdout] 298 | /     fn should_visit_next_child(
[INFO] [stdout] 299 | |         &self,
[INFO] [stdout] 300 | |         node: &<Self::Node as ParserNodeType<'input>>::Type,
[INFO] [stdout] 301 | |         current: &Self::Return,
[INFO] [stdout] 302 | |     ) -> bool {
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/tree.rs:359:5
[INFO] [stdout]     |
[INFO] [stdout] 359 |     fn visit_node(&mut self, node: &Node::Type);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]    --> src/lexer.rs:78:1
[INFO] [stdout]     |
[INFO] [stdout] 78  | / pub struct BaseLexer<
[INFO] [stdout] 79  | |     'input,
[INFO] [stdout] 80  | |     T: LexerRecog<'input, Self> + 'static,
[INFO] [stdout] 81  | |     Input: CharStream<TF::From>,
[INFO] [stdout] ...   |
[INFO] [stdout] 110 | |     pub text: Option<<TF::Data as ToOwned>::Owned>,
[INFO] [stdout] 111 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 16  | #![warn(missing_debug_implementations)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]    --> src/parser.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | / pub struct BaseParser<
[INFO] [stdout] 110 | |     'input,
[INFO] [stdout] 111 | |     Ext, //: 'static, //: ParserRecog<'input, Self> + 'static, // user provided behavior, such as semantic predicates
[INFO] [stdout] 112 | |     I: TokenStream<'input>, // input stream
[INFO] [stdout] ...   |
[INFO] [stdout] 151 | |     pd: PhantomData<fn() -> &'input str>,
[INFO] [stdout] 152 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 37 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `read_only` and `generate_rule_bypass_transitions` are never read
[INFO] [stdout]  --> src/atn_deserialization_options.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct ATNDeserializationOptions {
[INFO] [stdout]   |            ------------------------- fields in this struct
[INFO] [stdout] 3 |     read_only: bool,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 4 |     verify_atn: bool,
[INFO] [stdout] 5 |     generate_rule_bypass_transitions: bool,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ATNDeserializationOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `drop` is never used
[INFO] [stdout]   --> src/dfa.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) trait ScopeExt: Sized {
[INFO] [stdout]    |                  -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn drop(self) {}
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `predicate_index` is never read
[INFO] [stdout]    --> src/errors.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub struct FailedPredicateError {
[INFO] [stdout]     |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 225 |     predicate_index: isize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailedPredicateError` 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: trait `Sealed` is never used
[INFO] [stdout]   --> src/utils.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait Sealed {}
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/lib.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |     fn coerce_rc(from: Rc<T>) -> Rc<Self>;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout] 15  | #![warn(missing_docs)] // warn if there is missing docs
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/lib.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     fn coerce_box(from: Box<T>) -> Box<Self>;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/lib.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn coerce_ref(from: &T) -> &Self;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/lib.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn coerce_mut(from: &mut T) -> &mut Self;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/lib.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 220 |     fn coerce_rc_to(self: Rc<Self>) -> Rc<T>;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/lib.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn coerce_box_to(self: Box<Self>) -> Box<T>;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/lib.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 |     fn coerce_ref_to(self: &Self) -> &T;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/lib.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 223 |     fn coerce_mut_to(self: &mut Self) -> &mut T;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> src/tree.rs:248:1
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub trait ParseTreeVisitorCompat<'input>: VisitChildren<'input, Self::Node> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated type
[INFO] [stdout]    --> src/tree.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 249 |     type Node: ParserNodeType<'input>;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated type
[INFO] [stdout]    --> src/tree.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     type Return: Default;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/tree.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     fn visit(&mut self, node: &<Self::Node as ParserNodeType<'input>>::Type) -> Self::Return {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/tree.rs:278:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | /     fn visit_children(
[INFO] [stdout] 279 | |         &mut self,
[INFO] [stdout] 280 | |         node: &<Self::Node as ParserNodeType<'input>>::Type,
[INFO] [stdout] 281 | |     ) -> Self::Return {
[INFO] [stdout]     | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/tree.rs:294:5
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn aggregate_results(&self, aggregate: Self::Return, next: Self::Return) -> Self::Return {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/tree.rs:298:5
[INFO] [stdout]     |
[INFO] [stdout] 298 | /     fn should_visit_next_child(
[INFO] [stdout] 299 | |         &self,
[INFO] [stdout] 300 | |         node: &<Self::Node as ParserNodeType<'input>>::Type,
[INFO] [stdout] 301 | |         current: &Self::Return,
[INFO] [stdout] 302 | |     ) -> bool {
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/tree.rs:359:5
[INFO] [stdout]     |
[INFO] [stdout] 359 |     fn visit_node(&mut self, node: &Node::Type);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]    --> src/lexer.rs:78:1
[INFO] [stdout]     |
[INFO] [stdout] 78  | / pub struct BaseLexer<
[INFO] [stdout] 79  | |     'input,
[INFO] [stdout] 80  | |     T: LexerRecog<'input, Self> + 'static,
[INFO] [stdout] 81  | |     Input: CharStream<TF::From>,
[INFO] [stdout] ...   |
[INFO] [stdout] 110 | |     pub text: Option<<TF::Data as ToOwned>::Owned>,
[INFO] [stdout] 111 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 16  | #![warn(missing_debug_implementations)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]    --> src/parser.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | / pub struct BaseParser<
[INFO] [stdout] 110 | |     'input,
[INFO] [stdout] 111 | |     Ext, //: 'static, //: ParserRecog<'input, Self> + 'static, // user provided behavior, such as semantic predicates
[INFO] [stdout] 112 | |     I: TokenStream<'input>, // input stream
[INFO] [stdout] ...   |
[INFO] [stdout] 151 | |     pd: PhantomData<fn() -> &'input str>,
[INFO] [stdout] 152 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 37 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> tests/perf.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ParseTreeVisitorCompat`, `ParseTreeVisitor`, `ParseTreeWalker`, `Tree`, `VisitChildren`, and `Visitable`
[INFO] [stdout]   --> tests/general_tests.rs:23:39
[INFO] [stdout]    |
[INFO] [stdout] 23 |         ParseTree, ParseTreeListener, ParseTreeVisitor, ParseTreeVisitorCompat, ParseTreeWalker,
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |         TerminalNode, Tree, VisitChildren, Visitable,
[INFO] [stdout]    |                       ^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CsvFileContext`, `HdrContext`, and `RowContext`
[INFO] [stdout]   --> tests/general_tests.rs:36:49
[INFO] [stdout]    |
[INFO] [stdout] 36 |         CSVParserContext, CSVParserContextType, CsvFileContext, HdrContext, RowContext,
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gen::csvvisitor::CSVVisitor`
[INFO] [stdout]   --> tests/general_tests.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     use crate::gen::csvvisitor::CSVVisitor;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]   --> tests/general_tests.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     use std::io::Read;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/visitors_tests.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut lexer = VisitorBasicLexer::new(InputStream::new("A".into()));
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/visitors_tests.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let mut lexer = VisitorBasicLexer::new(InputStream::new("".into()));
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/visitors_tests.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let mut lexer = VisitorBasicLexer::new(InputStream::new("A".into()));
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> tests/visitors_tests.rs:128:17
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 node: &<Self::Node as ParserNodeType<'_>>::Type,
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/visitors_tests.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let mut lexer = VisitorBasicLexer::new(InputStream::new("A".into()));
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> tests/visitors_tests.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 node: &<Self::Node as ParserNodeType<'_>>::Type,
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current`
[INFO] [stdout]    --> tests/visitors_tests.rs:180:17
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 current: &Self::Return,
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aggregate`
[INFO] [stdout]    --> tests/visitors_tests.rs:206:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 aggregate: Self::Return,
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggregate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next`
[INFO] [stdout]    --> tests/visitors_tests.rs:207:17
[INFO] [stdout]     |
[INFO] [stdout] 207 |                 next: Self::Return,
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_next`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestVisitorUnit` is never constructed
[INFO] [stdout]    --> tests/visitors_tests.rs:140:16
[INFO] [stdout]     |
[INFO] [stdout] 140 |         struct TestVisitorUnit(String);
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_should_not_visit_EOF` should have a snake case name
[INFO] [stdout]    --> tests/visitors_tests.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn test_should_not_visit_EOF() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_should_not_visit_eof`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.15s
[INFO] running `Command { std: "docker" "inspect" "deab4cbf2e68d8b517bd15fc5385c0c517534eb0bf9e2571046b71c310f206ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "deab4cbf2e68d8b517bd15fc5385c0c517534eb0bf9e2571046b71c310f206ef", kill_on_drop: false }`
[INFO] [stdout] deab4cbf2e68d8b517bd15fc5385c0c517534eb0bf9e2571046b71c310f206ef
