[INFO] fetching crate antlr-rust 0.3.0-beta...
[INFO] testing antlr-rust-0.3.0-beta against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate antlr-rust 0.3.0-beta into /workspace/builds/worker-5-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-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate antlr-rust 0.3.0-beta 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] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 22 packages to latest compatible versions
[INFO] [stderr]       Adding bit-set v0.5.3 (available: v0.8.0)
[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.18.1)
[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]  Downloading crates ...
[INFO] [stderr]   Downloaded better_any v0.2.0
[INFO] [stderr]   Downloaded murmur3 v0.4.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 01b0c160d9e0d7ce30adf0678d078d4b86ddeee427004470d27af6352c5ff39f
[INFO] running `Command { std: "docker" "start" "-a" "01b0c160d9e0d7ce30adf0678d078d4b86ddeee427004470d27af6352c5ff39f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "01b0c160d9e0d7ce30adf0678d078d4b86ddeee427004470d27af6352c5ff39f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "01b0c160d9e0d7ce30adf0678d078d4b86ddeee427004470d27af6352c5ff39f", kill_on_drop: false }`
[INFO] [stdout] 01b0c160d9e0d7ce30adf0678d078d4b86ddeee427004470d27af6352c5ff39f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 11a63106c95860082070997592b9e917d73ba976afc470354ac15e7804d70414
[INFO] running `Command { std: "docker" "start" "-a" "11a63106c95860082070997592b9e917d73ba976afc470354ac15e7804d70414", kill_on_drop: false }`
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling typed-arena v2.0.2
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling better_any v0.2.0
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling murmur3 v0.4.1
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling 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)]` (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: 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: 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.16s
[INFO] running `Command { std: "docker" "inspect" "11a63106c95860082070997592b9e917d73ba976afc470354ac15e7804d70414", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "11a63106c95860082070997592b9e917d73ba976afc470354ac15e7804d70414", kill_on_drop: false }`
[INFO] [stdout] 11a63106c95860082070997592b9e917d73ba976afc470354ac15e7804d70414
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 8863308f98a9144735dacd5233c70fc6ab5d05ce13bc5314e659c3c7903de3f7
[INFO] running `Command { std: "docker" "start" "-a" "8863308f98a9144735dacd5233c70fc6ab5d05ce13bc5314e659c3c7903de3f7", kill_on_drop: false }`
[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)]` (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: 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: 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] [stderr]    Compiling antlr-rust v0.3.0-beta (/opt/rustwide/workdir)
[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: 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)]` (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: 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: 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: 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: 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: 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: 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] [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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.70s
[INFO] running `Command { std: "docker" "inspect" "8863308f98a9144735dacd5233c70fc6ab5d05ce13bc5314e659c3c7903de3f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8863308f98a9144735dacd5233c70fc6ab5d05ce13bc5314e659c3c7903de3f7", kill_on_drop: false }`
[INFO] [stdout] 8863308f98a9144735dacd5233c70fc6ab5d05ce13bc5314e659c3c7903de3f7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 223fa0f9bde4d92ac161221bf7600250076ec29157e330b7ddfc16a7b8682fc2
[INFO] running `Command { std: "docker" "start" "-a" "223fa0f9bde4d92ac161221bf7600250076ec29157e330b7ddfc16a7b8682fc2", kill_on_drop: false }`
[INFO] [stderr] warning: unused attribute `allow`
[INFO] [stderr]   --> src/token_factory.rs:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[allow(non_upper_case_globals)]
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] note: the built-in attribute `allow` will be ignored, since it's applied to the macro invocation `lazy_static`
[INFO] [stderr]   --> src/token_factory.rs:18:1
[INFO] [stderr]    |
[INFO] [stderr] 18 | lazy_static! {
[INFO] [stderr]    | ^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Tid`
[INFO] [stderr]   --> src/token_factory.rs:15:18
[INFO] [stderr]    |
[INFO] [stderr] 15 | use better_any::{Tid, TidAble};
[INFO] [stderr]    |                  ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TidAble` and `Tid`
[INFO] [stderr]   --> src/token_stream.rs:11:18
[INFO] [stderr]    |
[INFO] [stderr] 11 | use better_any::{Tid, TidAble};
[INFO] [stderr]    |                  ^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::atn::INVALID_ALT`
[INFO] [stderr]   --> src/tree.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::atn::INVALID_ALT;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `RuleContextExt`
[INFO] [stderr]   --> src/tree.rs:16:53
[INFO] [stderr]    |
[INFO] [stderr] 16 | use crate::parser_rule_context::{ParserRuleContext, RuleContextExt};
[INFO] [stderr]    |                                                     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TidAble` and `Tid`
[INFO] [stderr]   --> src/tree.rs:22:18
[INFO] [stderr]    |
[INFO] [stderr] 22 | use better_any::{Tid, TidAble};
[INFO] [stderr]    |                  ^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TidAble` and `Tid`
[INFO] [stderr]  --> src/common_token_stream.rs:9:18
[INFO] [stderr]   |
[INFO] [stderr] 9 | use better_any::{Tid, TidAble};
[INFO] [stderr]   |                  ^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `better_any::TidAble`
[INFO] [stderr]  --> src/input_stream.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use better_any::TidAble;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Tid`
[INFO] [stderr]   --> src/parser.rs:26:18
[INFO] [stderr]    |
[INFO] [stderr] 26 | use better_any::{Tid, TidAble};
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Tid`
[INFO] [stderr]   --> src/rule_context.rs:14:18
[INFO] [stderr]    |
[INFO] [stderr] 14 | use better_any::{Tid, TidAble};
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> src/error_strategy.rs:584:13
[INFO] [stderr]     |
[INFO] [stderr] 580 | /             loop {
[INFO] [stderr] 581 | |                 ctx.set_exception(e.clone());
[INFO] [stderr] 582 | |                 ctx = ctx.get_parent()?
[INFO] [stderr] 583 | |             }
[INFO] [stderr]     | |_____________- any code following this expression is unreachable
[INFO] [stderr] 584 |               Some(())
[INFO] [stderr]     |               ^^^^^^^^ unreachable expression
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rule_names`
[INFO] [stderr]    --> src/tree.rs:144:29
[INFO] [stderr]     |
[INFO] [stderr] 144 |     fn get_node_text(&self, rule_names: &[&str]) -> String {
[INFO] [stderr]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rule_names`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `aggregate`
[INFO] [stderr]    --> src/tree.rs:294:33
[INFO] [stderr]     |
[INFO] [stderr] 294 |     fn aggregate_results(&self, aggregate: Self::Return, next: Self::Return) -> Self::Return {
[INFO] [stderr]     |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggregate`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node`
[INFO] [stderr]    --> src/tree.rs:300:9
[INFO] [stderr]     |
[INFO] [stderr] 300 |         node: &<Self::Node as ParserNodeType<'input>>::Type,
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `current`
[INFO] [stderr]    --> src/tree.rs:301:9
[INFO] [stderr]     |
[INFO] [stderr] 301 |         current: &Self::Return,
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `read_only` and `generate_rule_bypass_transitions` are never read
[INFO] [stderr]  --> src/atn_deserialization_options.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub struct ATNDeserializationOptions {
[INFO] [stderr]   |            ------------------------- fields in this struct
[INFO] [stderr] 3 |     read_only: bool,
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 4 |     verify_atn: bool,
[INFO] [stderr] 5 |     generate_rule_bypass_transitions: bool,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `ATNDeserializationOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `drop` is never used
[INFO] [stderr]   --> src/dfa.rs:33:8
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub(crate) trait ScopeExt: Sized {
[INFO] [stderr]    |                  -------- method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 33 |     fn drop(self) {}
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `predicate_index` is never read
[INFO] [stderr]    --> src/errors.rs:225:5
[INFO] [stderr]     |
[INFO] [stderr] 222 | pub struct FailedPredicateError {
[INFO] [stderr]     |            -------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 225 |     predicate_index: isize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `FailedPredicateError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Sealed` is never used
[INFO] [stderr]   --> src/utils.rs:18:11
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub trait Sealed {}
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]    --> src/lib.rs:184:5
[INFO] [stderr]     |
[INFO] [stderr] 184 |     fn coerce_rc(from: Rc<T>) -> Rc<Self>;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]    --> src/lib.rs:15:9
[INFO] [stderr]     |
[INFO] [stderr]  15 | #![warn(missing_docs)] // warn if there is missing docs
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]    --> src/lib.rs:185:5
[INFO] [stderr]     |
[INFO] [stderr] 185 |     fn coerce_box(from: Box<T>) -> Box<Self>;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]    --> src/lib.rs:186:5
[INFO] [stderr]     |
[INFO] [stderr] 186 |     fn coerce_ref(from: &T) -> &Self;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]    --> src/lib.rs:187:5
[INFO] [stderr]     |
[INFO] [stderr] 187 |     fn coerce_mut(from: &mut T) -> &mut Self;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/lib.rs:220:5
[INFO] [stderr]     |
[INFO] [stderr] 220 |     fn coerce_rc_to(self: Rc<Self>) -> Rc<T>;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/lib.rs:221:5
[INFO] [stderr]     |
[INFO] [stderr] 221 |     fn coerce_box_to(self: Box<Self>) -> Box<T>;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/lib.rs:222:5
[INFO] [stderr]     |
[INFO] [stderr] 222 |     fn coerce_ref_to(self: &Self) -> &T;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/lib.rs:223:5
[INFO] [stderr]     |
[INFO] [stderr] 223 |     fn coerce_mut_to(self: &mut Self) -> &mut T;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a trait
[INFO] [stderr]    --> src/tree.rs:248:1
[INFO] [stderr]     |
[INFO] [stderr] 248 | pub trait ParseTreeVisitorCompat<'input>: VisitChildren<'input, Self::Node> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated type
[INFO] [stderr]    --> src/tree.rs:249:5
[INFO] [stderr]     |
[INFO] [stderr] 249 |     type Node: ParserNodeType<'input>;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated type
[INFO] [stderr]    --> src/tree.rs:250:5
[INFO] [stderr]     |
[INFO] [stderr] 250 |     type Return: Default;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/tree.rs:264:5
[INFO] [stderr]     |
[INFO] [stderr] 264 |     fn visit(&mut self, node: &<Self::Node as ParserNodeType<'input>>::Type) -> Self::Return {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/tree.rs:278:5
[INFO] [stderr]     |
[INFO] [stderr] 278 | /     fn visit_children(
[INFO] [stderr] 279 | |         &mut self,
[INFO] [stderr] 280 | |         node: &<Self::Node as ParserNodeType<'input>>::Type,
[INFO] [stderr] 281 | |     ) -> Self::Return {
[INFO] [stderr]     | |_____________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/tree.rs:294:5
[INFO] [stderr]     |
[INFO] [stderr] 294 |     fn aggregate_results(&self, aggregate: Self::Return, next: Self::Return) -> Self::Return {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/tree.rs:298:5
[INFO] [stderr]     |
[INFO] [stderr] 298 | /     fn should_visit_next_child(
[INFO] [stderr] 299 | |         &self,
[INFO] [stderr] 300 | |         node: &<Self::Node as ParserNodeType<'input>>::Type,
[INFO] [stderr] 301 | |         current: &Self::Return,
[INFO] [stderr] 302 | |     ) -> bool {
[INFO] [stderr]     | |_____________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/tree.rs:359:5
[INFO] [stderr]     |
[INFO] [stderr] 359 |     fn visit_node(&mut self, node: &Node::Type);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stderr]    --> src/lexer.rs:78:1
[INFO] [stderr]     |
[INFO] [stderr]  78 | / pub struct BaseLexer<
[INFO] [stderr]  79 | |     'input,
[INFO] [stderr]  80 | |     T: LexerRecog<'input, Self> + 'static,
[INFO] [stderr]  81 | |     Input: CharStream<TF::From>,
[INFO] [stderr] ...   |
[INFO] [stderr] 110 | |     pub text: Option<<TF::Data as ToOwned>::Owned>,
[INFO] [stderr] 111 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]    --> src/lib.rs:16:9
[INFO] [stderr]     |
[INFO] [stderr]  16 | #![warn(missing_debug_implementations)]
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stderr]    --> src/parser.rs:109:1
[INFO] [stderr]     |
[INFO] [stderr] 109 | / pub struct BaseParser<
[INFO] [stderr] 110 | |     'input,
[INFO] [stderr] 111 | |     Ext, //: 'static, //: ParserRecog<'input, Self> + 'static, // user provided behavior, such as semantic predicates
[INFO] [stderr] 112 | |     I: TokenStream<'input>, // input stream
[INFO] [stderr] ...   |
[INFO] [stderr] 151 | |     pd: PhantomData<fn() -> &'input str>,
[INFO] [stderr] 152 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: `antlr-rust` (lib) generated 37 warnings (run `cargo fix --lib -p antlr-rust` to apply 14 suggestions)
[INFO] [stderr] warning: `antlr-rust` (lib test) generated 37 warnings (37 duplicates)
[INFO] [stderr] warning: unused imports: `ParseTreeVisitorCompat`, `ParseTreeVisitor`, `ParseTreeWalker`, `Tree`, `VisitChildren`, and `Visitable`
[INFO] [stderr]   --> tests/general_tests.rs:23:39
[INFO] [stderr]    |
[INFO] [stderr] 23 |         ParseTree, ParseTreeListener, ParseTreeVisitor, ParseTreeVisitorCompat, ParseTreeWalker,
[INFO] [stderr]    |                                       ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 24 |         TerminalNode, Tree, VisitChildren, Visitable,
[INFO] [stderr]    |                       ^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CsvFileContext`, `HdrContext`, and `RowContext`
[INFO] [stderr]   --> tests/general_tests.rs:36:49
[INFO] [stderr]    |
[INFO] [stderr] 36 |         CSVParserContext, CSVParserContextType, CsvFileContext, HdrContext, RowContext,
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::gen::csvvisitor::CSVVisitor`
[INFO] [stderr]   --> tests/general_tests.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 38 |     use crate::gen::csvvisitor::CSVVisitor;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Read`
[INFO] [stderr]   --> tests/general_tests.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr] 12 |     use std::io::Read;
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> tests/perf.rs:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/visitors_tests.rs:34:13
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let mut lexer = VisitorBasicLexer::new(InputStream::new("A".into()));
[INFO] [stderr]    |             ----^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/visitors_tests.rs:71:13
[INFO] [stderr]    |
[INFO] [stderr] 71 |         let mut lexer = VisitorBasicLexer::new(InputStream::new("".into()));
[INFO] [stderr]    |             ----^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/visitors_tests.rs:107:13
[INFO] [stderr]     |
[INFO] [stderr] 107 |         let mut lexer = VisitorBasicLexer::new(InputStream::new("A".into()));
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node`
[INFO] [stderr]    --> tests/visitors_tests.rs:128:17
[INFO] [stderr]     |
[INFO] [stderr] 128 |                 node: &<Self::Node as ParserNodeType<'_>>::Type,
[INFO] [stderr]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/visitors_tests.rs:158:13
[INFO] [stderr]     |
[INFO] [stderr] 158 |         let mut lexer = VisitorBasicLexer::new(InputStream::new("A".into()));
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node`
[INFO] [stderr]    --> tests/visitors_tests.rs:179:17
[INFO] [stderr]     |
[INFO] [stderr] 179 |                 node: &<Self::Node as ParserNodeType<'_>>::Type,
[INFO] [stderr]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `current`
[INFO] [stderr]    --> tests/visitors_tests.rs:180:17
[INFO] [stderr]     |
[INFO] [stderr] 180 |                 current: &Self::Return,
[INFO] [stderr]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `aggregate`
[INFO] [stderr]    --> tests/visitors_tests.rs:206:17
[INFO] [stderr]     |
[INFO] [stderr] 206 |                 aggregate: Self::Return,
[INFO] [stderr]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggregate`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `next`
[INFO] [stderr]    --> tests/visitors_tests.rs:207:17
[INFO] [stderr]     |
[INFO] [stderr] 207 |                 next: Self::Return,
[INFO] [stderr]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_next`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TestVisitorUnit` is never constructed
[INFO] [stderr]    --> tests/visitors_tests.rs:140:16
[INFO] [stderr]     |
[INFO] [stderr] 140 |         struct TestVisitorUnit(String);
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_should_not_visit_EOF` should have a snake case name
[INFO] [stderr]    --> tests/visitors_tests.rs:106:8
[INFO] [stderr]     |
[INFO] [stderr] 106 |     fn test_should_not_visit_EOF() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_should_not_visit_eof`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `antlr-rust` (test "general_tests") generated 4 warnings (run `cargo fix --test "general_tests" -p antlr-rust` to apply 3 suggestions)
[INFO] [stderr] warning: `antlr-rust` (test "perf") generated 1 warning
[INFO] [stderr] warning: `antlr-rust` (test "visitors_tests") generated 11 warnings (run `cargo fix --test "visitors_tests" -p antlr-rust` to apply 9 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/antlr_rust-db017609e04d3a59)
[INFO] [stdout] 
[INFO] [stdout] running 43 tests
[INFO] [stdout] test input_stream::test::test_byte_input_stream ... ok
[INFO] [stdout] test input_stream::test::test_str_input_stream ... ok
[INFO] [stdout] test interval_set::test::test_add_1 ... ok
[INFO] [stdout] test interval_set::test::test_add_2 ... ok
[INFO] [stdout] test prediction_context::test::test_Aa_Aa ... ok
[INFO] [stdout] test interval_set::test::test_remove ... ok
[INFO] [stdout] test prediction_context::test::test_Aaubu_Acudu ... ok
[INFO] [stdout] test prediction_context::test::test_Aac_Ab ... ok
[INFO] [stdout] test prediction_context::test::test_Aaubv_Abvdu ... ok
[INFO] [stdout] test prediction_context::test::test_Aab_Ac ... ok
[INFO] [stdout] test prediction_context::test::test_Aaubv_Abvdx ... ok
[INFO] [stdout] test prediction_context::test::test_Aaubv_Abwdx ... ok
[INFO] [stdout] test prediction_context::test::test_Aax_Aby ... ok
[INFO] [stdout] test prediction_context::test::test_Aaubv_Acwdx ... ok
[INFO] [stdout] test prediction_context::test::test_Aa_Abc ... ok
[INFO] [stdout] test prediction_context::test::test_Aab_Ab ... ok
[INFO] [stdout] test prediction_context::test::test_aae_ae_e_fullctx ... ok
[INFO] [stdout] test prediction_context::test::test_abx_abx ... ok
[INFO] [stdout] test prediction_context::test::test_aex_bfx ... ignored
[INFO] [stdout] test prediction_context::test::test_ae_ax ... ok
[INFO] [stdout] test prediction_context::test::test_ae_bx ... ok
[INFO] [stdout] test prediction_context::test::test_ae_bx_fullctx ... ok
[INFO] [stdout] test prediction_context::test::test_ae_ax_fullctx ... ok
[INFO] [stdout] test prediction_context::test::test_Ae_Ae_fullctx ... ok
[INFO] [stdout] test prediction_context::test::test_a_a ... ok
[INFO] [stdout] test prediction_context::test::test_a_b ... ok
[INFO] [stdout] test prediction_context::test::test_Aab_Aa ... ok
[INFO] [stdout] test prediction_context::test::test_ax_ax ... ok
[INFO] [stdout] test prediction_context::test::test_axe_ae ... ok
[INFO] [stdout] test prediction_context::test::test_Aax_Aay ... ok
[INFO] [stdout] test prediction_context::test::test_axe_ae_fullctx ... ok
[INFO] [stdout] test prediction_context::test::test_ax_ax_same ... ok
[INFO] [stdout] test prediction_context::test::test_e_e ... ok
[INFO] [stdout] test prediction_context::test::test_x_e ... ok
[INFO] [stdout] test prediction_context::test::test_e_x_fullctx ... ok
[INFO] [stdout] test prediction_context::test::test_e_e_fullctx ... ok
[INFO] [stdout] test prediction_context::test::test_Aaxc_Aayd ... ok
[INFO] [stdout] test prediction_context::test::test_ax_bx ... ok
[INFO] [stdout] test prediction_context::test::test_ax_bx_same ... ok
[INFO] [stdout] test prediction_context::test::test_abx_acx ... ok
[INFO] [stdout] test prediction_context::test::test_e_x ... ok
[INFO] [stdout] test interval_set::test::test_substract ... ok
[INFO] [stdout] test prediction_context::test::test_x_e_fullctx ... ok
[INFO] [stderr]      Running tests/general_tests.rs (/opt/rustwide/target/debug/deps/general_tests-7b569536357db137)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 42 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test gen::lexer_test_csv ... ok
[INFO] [stdout] test gen::test_immediate_lr ... ok
[INFO] [stdout] test gen::parser_test_csv ... ok
[INFO] [stdout] test gen::test_adaptive_predict_and_owned_tree ... ok
[INFO] [stdout] test gen::test_remove_listener ... ok
[INFO] [stdout] test gen::test_lr ... ok
[INFO] [stdout] test gen::test_complex_convert ... ok
[INFO] [stdout] test gen::test_byte_parser ... ok
[INFO] [stdout] test gen::lexer_test_xml ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/perf.rs (/opt/rustwide/target/debug/deps/perf-08afa205e4e8e193)
[INFO] [stderr]      Running tests/visitors_tests.rs (/opt/rustwide/target/debug/deps/visitors_tests-2f863e59a2b09dda)
[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] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test gen::test_should_not_visit_anything ... ok
[INFO] [stdout] test gen::test_visit_error_node ... ok
[INFO] [stdout] test gen::test_should_not_visit_EOF ... ok
[INFO] [stdout] test gen::test_visitor_retrieve_reference_by_return ... ok
[INFO] [stdout] test gen::test_visitor_retrieve_reference ... ok
[INFO] [stdout] test gen::test_visitor_with_return ... ok
[INFO] [stdout] test gen::test_visit_terminal_node ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests antlr_rust
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/error_strategy.rs - error_strategy::BailErrorStrategy (line 553) ... ignored
[INFO] [stdout] test src/tree.rs - tree::ParseTreeVisitorCompat::temp_result (line 257) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "223fa0f9bde4d92ac161221bf7600250076ec29157e330b7ddfc16a7b8682fc2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "223fa0f9bde4d92ac161221bf7600250076ec29157e330b7ddfc16a7b8682fc2", kill_on_drop: false }`
[INFO] [stdout] 223fa0f9bde4d92ac161221bf7600250076ec29157e330b7ddfc16a7b8682fc2
