[INFO] fetching crate antlr-rust 0.3.0-beta...
[INFO] checking antlr-rust-0.3.0-beta against b26b4e75de6aac63fc6beeecebad5b3a5f84d2a4 for pr-164582
[INFO] extracting crate antlr-rust 0.3.0-beta into /workspace/builds/worker-3-tc1/source
[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-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate antlr-rust 0.3.0-beta on toolchain b26b4e75de6aac63fc6beeecebad5b3a5f84d2a4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b26b4e75de6aac63fc6beeecebad5b3a5f84d2a4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b26b4e75de6aac63fc6beeecebad5b3a5f84d2a4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 22 packages to highest compatible versions
[INFO] [stderr]       Adding bit-set v0.5.3 (available: v0.11.1)
[INFO] [stderr]       Adding murmur3 v0.4.1 (available: v0.5.2)
[INFO] [stderr]       Adding parking_lot v0.11.2 (available: v0.12.5)
[INFO] [stderr]       Adding uuid v0.8.2 (available: v1.28.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b26b4e75de6aac63fc6beeecebad5b3a5f84d2a4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:37:12
[INFO] [stderr]    |
[INFO] [stderr] 37 | homepage = "https://github.com/rrevenantt/antlr4rust"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 42 | repository = "https://github.com/rrevenantt/antlr4rust"
[INFO] [stderr]    |              ------------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `antlr-rust` (manifest) generated 1 warning
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded murmur3 v0.4.1
[INFO] [stderr]   Downloaded parking_lot v0.11.2
[INFO] [stderr]   Downloaded better_any v0.2.1
[INFO] [stderr]   Downloaded redox_syscall v0.2.16
[INFO] [stderr]   Downloaded parking_lot_core v0.8.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 993b4c4ad13338768b27b9db3d10251ee7eca827129d2bb6c7f49f4b4e1d00ef
[INFO] running `Command { std: "docker" "start" "993b4c4ad13338768b27b9db3d10251ee7eca827129d2bb6c7f49f4b4e1d00ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "993b4c4ad13338768b27b9db3d10251ee7eca827129d2bb6c7f49f4b4e1d00ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "993b4c4ad13338768b27b9db3d10251ee7eca827129d2bb6c7f49f4b4e1d00ef" "/opt/rustwide/cargo-home/bin/cargo" "+b26b4e75de6aac63fc6beeecebad5b3a5f84d2a4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "993b4c4ad13338768b27b9db3d10251ee7eca827129d2bb6c7f49f4b4e1d00ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "993b4c4ad13338768b27b9db3d10251ee7eca827129d2bb6c7f49f4b4e1d00ef" "/opt/rustwide/cargo-home/bin/cargo" "+b26b4e75de6aac63fc6beeecebad5b3a5f84d2a4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:37:12
[INFO] [stderr]    |
[INFO] [stderr] 37 | homepage = "https://github.com/rrevenantt/antlr4rust"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 42 | repository = "https://github.com/rrevenantt/antlr4rust"
[INFO] [stderr]    |              ------------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `antlr-rust` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.191
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]     Checking cfg-if v1.0.5
[INFO] [stderr]     Checking smallvec v1.16.3
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking typed-arena v2.0.2
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]     Checking lazy_static v1.5.1
[INFO] [stderr]     Checking better_any v0.2.1
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking murmur3 v0.4.1
[INFO] [stderr]     Checking instant v0.1.13
[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: the `allow` attribute cannot be used on macro calls
[INFO] [stdout]   --> src/token_factory.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[allow(non_upper_case_globals)]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the `allow` attribute can be applied to associated consts, associated types, break expressions, const parameters, constants, crates, data types, enum variants, extern crates, for loops, foreign modules, foreign statics, function params, functions, global asms, impl blocks, lifetime parameters, loops, macro defs, match arms, modules, pattern fields, statics, struct fields, trait aliases, traits, type aliases, type parameters, use statements, and while loops
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: placing this attribute on a macro invocation does nothing even if the macro expands to what would be a valid target for the attribute
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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: the `allow` attribute cannot be used on macro calls
[INFO] [stdout]   --> src/token_factory.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[allow(non_upper_case_globals)]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the `allow` attribute can be applied to associated consts, associated types, break expressions, const parameters, constants, crates, data types, enum variants, extern crates, for loops, foreign modules, foreign statics, function params, functions, global asms, impl blocks, lifetime parameters, loops, macro defs, match arms, modules, pattern fields, statics, struct fields, trait aliases, traits, type aliases, type parameters, use statements, and while loops
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: placing this attribute on a macro invocation does nothing even if the macro expands to what would be a valid target for the attribute
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/lexer_atn_simulator.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::usize;
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/lexer_atn_simulator.rs:36:53
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const ERROR_DFA_STATE_REF: DFAStateRef = usize::MAX;
[INFO] [stdout]    |                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/lexer_atn_simulator.rs:669:58
[INFO] [stdout]     |
[INFO] [stdout] 669 |         let mut dfastate = DFAState::new_dfastate(usize::MAX, _configs);
[INFO] [stdout]     |                                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]   --> src/parser_atn_simulator.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{ptr, usize};
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/lexer_atn_simulator.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::usize;
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/lexer_atn_simulator.rs:36:53
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const ERROR_DFA_STATE_REF: DFAStateRef = usize::MAX;
[INFO] [stdout]    |                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/lexer_atn_simulator.rs:669:58
[INFO] [stdout]     |
[INFO] [stdout] 669 |         let mut dfastate = DFAState::new_dfastate(usize::MAX, _configs);
[INFO] [stdout]     |                                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]   --> src/parser_atn_simulator.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{ptr, usize};
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::num::<impl usize>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/dfa.rs:72:20
[INFO] [stdout]    |
[INFO] [stdout] 72 |             usize::max_value(),
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::num::<impl usize>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/tree.rs:141:16
[INFO] [stdout]     |
[INFO] [stdout] 141 |         usize::max_value()
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::num::<impl usize>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/dfa.rs:72:20
[INFO] [stdout]    |
[INFO] [stdout] 72 |             usize::max_value(),
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::num::<impl usize>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/tree.rs:141:16
[INFO] [stdout]     |
[INFO] [stdout] 141 |         usize::max_value()
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::num::<impl isize>::min_value`: replaced by the `MIN` associated constant on this type
[INFO] [stdout]     --> src/parser_atn_simulator.rs:1030:44
[INFO] [stdout]      |
[INFO] [stdout] 1030 |                     assert!(depth > isize::min_value());
[INFO] [stdout]      |                                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::num::<impl isize>::min_value`: replaced by the `MIN` associated constant on this type
[INFO] [stdout]     --> src/parser_atn_simulator.rs:1119:48
[INFO] [stdout]      |
[INFO] [stdout] 1119 |                     assert!(new_depth > isize::min_value());
[INFO] [stdout]      |                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::num::<impl usize>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/rule_context.rs:81:16
[INFO] [stdout]    |
[INFO] [stdout] 81 |         usize::max_value()
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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: use of deprecated associated function `core::num::<impl isize>::min_value`: replaced by the `MIN` associated constant on this type
[INFO] [stdout]     --> src/parser_atn_simulator.rs:1030:44
[INFO] [stdout]      |
[INFO] [stdout] 1030 |                     assert!(depth > isize::min_value());
[INFO] [stdout]      |                                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::num::<impl isize>::min_value`: replaced by the `MIN` associated constant on this type
[INFO] [stdout]     --> src/parser_atn_simulator.rs:1119:48
[INFO] [stdout]      |
[INFO] [stdout] 1119 |                     assert!(new_depth > isize::min_value());
[INFO] [stdout]      |                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::num::<impl usize>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/rule_context.rs:81:16
[INFO] [stdout]    |
[INFO] [stdout] 81 |         usize::max_value()
[INFO] [stdout]    |                ^^^^^^^^^
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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: 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)]` (part of `#[warn(unused)]`) on by default
[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)]` (part of `#[warn(unused)]`) 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: 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)]` (part of `#[warn(unused)]`) 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: 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default
[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: 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)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.22s
[INFO] running `Command { std: "docker" "inspect" "993b4c4ad13338768b27b9db3d10251ee7eca827129d2bb6c7f49f4b4e1d00ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "993b4c4ad13338768b27b9db3d10251ee7eca827129d2bb6c7f49f4b4e1d00ef", kill_on_drop: false }`
[INFO] [stdout] 993b4c4ad13338768b27b9db3d10251ee7eca827129d2bb6c7f49f4b4e1d00ef
