[INFO] fetching crate antlr-rust 0.3.0-beta... [INFO] checking antlr-rust-0.3.0-beta against master#bbcc1691a4646a6d2ebb2189bdff5b878407fbe6 for pr-117351 [INFO] extracting crate antlr-rust 0.3.0-beta into /workspace/builds/worker-6-tc1/source [INFO] validating manifest of crates.io crate antlr-rust 0.3.0-beta on toolchain bbcc1691a4646a6d2ebb2189bdff5b878407fbe6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bbcc1691a4646a6d2ebb2189bdff5b878407fbe6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate antlr-rust 0.3.0-beta [INFO] finished tweaking crates.io crate antlr-rust 0.3.0-beta [INFO] tweaked toml for crates.io crate antlr-rust 0.3.0-beta written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bbcc1691a4646a6d2ebb2189bdff5b878407fbe6" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bbcc1691a4646a6d2ebb2189bdff5b878407fbe6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded typed-arena v2.0.2 [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-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:023092b8bfa974c7f3e45c5ce651cc8dd3afd5e76915d5995b8dacd3032bf956" "/opt/rustwide/cargo-home/bin/cargo" "+bbcc1691a4646a6d2ebb2189bdff5b878407fbe6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8aa8cb6e34ad18787bfb98d6ac054ae3d70c590bdb9c1817ec028f65d6ec649e [INFO] running `Command { std: "docker" "start" "-a" "8aa8cb6e34ad18787bfb98d6ac054ae3d70c590bdb9c1817ec028f65d6ec649e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8aa8cb6e34ad18787bfb98d6ac054ae3d70c590bdb9c1817ec028f65d6ec649e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8aa8cb6e34ad18787bfb98d6ac054ae3d70c590bdb9c1817ec028f65d6ec649e", kill_on_drop: false }` [INFO] [stdout] 8aa8cb6e34ad18787bfb98d6ac054ae3d70c590bdb9c1817ec028f65d6ec649e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:023092b8bfa974c7f3e45c5ce651cc8dd3afd5e76915d5995b8dacd3032bf956" "/opt/rustwide/cargo-home/bin/cargo" "+bbcc1691a4646a6d2ebb2189bdff5b878407fbe6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 10603ae64374b3d80fbebaf45ee8c3f08f4430d1c972cc310bd67aa40326e50c [INFO] running `Command { std: "docker" "start" "-a" "10603ae64374b3d80fbebaf45ee8c3f08f4430d1c972cc310bd67aa40326e50c", kill_on_drop: false }` [INFO] [stderr] Compiling parking_lot_core v0.8.6 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Checking better_any v0.2.0 [INFO] [stderr] Checking uuid v0.8.2 [INFO] [stderr] Checking typed-arena v2.0.2 [INFO] [stderr] Checking instant v0.1.12 [INFO] [stderr] Checking murmur3 v0.4.1 [INFO] [stderr] Checking bit-set v0.5.3 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking antlr-rust v0.3.0-beta (/opt/rustwide/workdir) [INFO] [stdout] warning: unused attribute `allow` [INFO] [stdout] --> src/token_factory.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | #[allow(non_upper_case_globals)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `allow` will be ignored, since it's applied to the macro invocation `lazy_static` [INFO] [stdout] --> src/token_factory.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | lazy_static! { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Tid` [INFO] [stdout] --> src/token_factory.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TidAble`, `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`, `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`, `Tid` [INFO] [stdout] --> src/common_token_stream.rs:9:18 [INFO] [stdout] | [INFO] [stdout] 9 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `better_any::TidAble` [INFO] [stdout] --> src/input_stream.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use better_any::TidAble; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Tid` [INFO] [stdout] --> src/parser.rs:26:18 [INFO] [stdout] | [INFO] [stdout] 26 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Tid` [INFO] [stdout] --> src/rule_context.rs:14:18 [INFO] [stdout] | [INFO] [stdout] 14 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `allow` [INFO] [stdout] --> src/token_factory.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | #[allow(non_upper_case_globals)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `allow` will be ignored, since it's applied to the macro invocation `lazy_static` [INFO] [stdout] --> src/token_factory.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | lazy_static! { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Tid` [INFO] [stdout] --> src/token_factory.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TidAble`, `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`, `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`, `Tid` [INFO] [stdout] --> src/common_token_stream.rs:9:18 [INFO] [stdout] | [INFO] [stdout] 9 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `better_any::TidAble` [INFO] [stdout] --> src/input_stream.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use better_any::TidAble; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Tid` [INFO] [stdout] --> src/parser.rs:26:18 [INFO] [stdout] | [INFO] [stdout] 26 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Tid` [INFO] [stdout] --> src/rule_context.rs:14:18 [INFO] [stdout] | [INFO] [stdout] 14 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/error_strategy.rs:584:13 [INFO] [stdout] | [INFO] [stdout] 580 | / loop { [INFO] [stdout] 581 | | ctx.set_exception(e.clone()); [INFO] [stdout] 582 | | ctx = ctx.get_parent()? [INFO] [stdout] 583 | | } [INFO] [stdout] | |_____________- any code following this expression is unreachable [INFO] [stdout] 584 | Some(()) [INFO] [stdout] | ^^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/error_strategy.rs:584:13 [INFO] [stdout] | [INFO] [stdout] 580 | / loop { [INFO] [stdout] 581 | | ctx.set_exception(e.clone()); [INFO] [stdout] 582 | | ctx = ctx.get_parent()? [INFO] [stdout] 583 | | } [INFO] [stdout] | |_____________- any code following this expression is unreachable [INFO] [stdout] 584 | Some(()) [INFO] [stdout] | ^^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rule_names` [INFO] [stdout] --> src/tree.rs:144:29 [INFO] [stdout] | [INFO] [stdout] 144 | fn get_node_text(&self, rule_names: &[&str]) -> String { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rule_names` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `aggregate` [INFO] [stdout] --> src/tree.rs:294:33 [INFO] [stdout] | [INFO] [stdout] 294 | fn aggregate_results(&self, aggregate: Self::Return, next: Self::Return) -> Self::Return { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggregate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/tree.rs:300:9 [INFO] [stdout] | [INFO] [stdout] 300 | node: &>::Type, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current` [INFO] [stdout] --> src/tree.rs:301:9 [INFO] [stdout] | [INFO] [stdout] 301 | current: &Self::Return, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rule_names` [INFO] [stdout] --> src/tree.rs:144:29 [INFO] [stdout] | [INFO] [stdout] 144 | fn get_node_text(&self, rule_names: &[&str]) -> String { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rule_names` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `aggregate` [INFO] [stdout] --> src/tree.rs:294:33 [INFO] [stdout] | [INFO] [stdout] 294 | fn aggregate_results(&self, aggregate: Self::Return, next: Self::Return) -> Self::Return { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggregate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/tree.rs:300:9 [INFO] [stdout] | [INFO] [stdout] 300 | node: &>::Type, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current` [INFO] [stdout] --> src/tree.rs:301:9 [INFO] [stdout] | [INFO] [stdout] 301 | current: &Self::Return, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `read_only` and `generate_rule_bypass_transitions` are never read [INFO] [stdout] --> src/atn_deserialization_options.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct ATNDeserializationOptions { [INFO] [stdout] | ------------------------- fields in this struct [INFO] [stdout] 3 | read_only: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 4 | verify_atn: bool, [INFO] [stdout] 5 | generate_rule_bypass_transitions: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ATNDeserializationOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 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: missing documentation for an associated function [INFO] [stdout] --> src/lib.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | fn coerce_rc(from: Rc) -> Rc; [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) -> Box; [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) -> Rc; [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) -> Box; [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: &>::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: &>::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: &>::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, [INFO] [stdout] ... | [INFO] [stdout] 110 | | pub text: Option<::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 &'input str>, [INFO] [stdout] 152 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 35 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> tests/perf.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ParseTreeVisitorCompat`, `ParseTreeVisitor`, `ParseTreeWalker`, `Tree`, `VisitChildren`, `Visitable` [INFO] [stdout] --> tests/general_tests.rs:23:39 [INFO] [stdout] | [INFO] [stdout] 23 | ParseTree, ParseTreeListener, ParseTreeVisitor, ParseTreeVisitorCompat, ParseTreeWalker, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | TerminalNode, Tree, VisitChildren, Visitable, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CsvFileContext`, `HdrContext`, `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)]` on by default [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: 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, [INFO] [stdout] ... | [INFO] [stdout] 110 | | pub text: Option<::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 &'input str>, [INFO] [stdout] 152 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/visitors_tests.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | let mut lexer = VisitorBasicLexer::new(InputStream::new("A".into())); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/visitors_tests.rs:71:13 [INFO] [stdout] | [INFO] [stdout] 71 | let mut lexer = VisitorBasicLexer::new(InputStream::new("".into())); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/visitors_tests.rs:107:13 [INFO] [stdout] | [INFO] [stdout] 107 | let mut lexer = VisitorBasicLexer::new(InputStream::new("A".into())); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> tests/visitors_tests.rs:128:17 [INFO] [stdout] | [INFO] [stdout] 128 | node: &>::Type, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/visitors_tests.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 158 | let mut lexer = VisitorBasicLexer::new(InputStream::new("A".into())); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> tests/visitors_tests.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | node: &>::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: function `test_should_not_visit_EOF` should have a snake case name [INFO] [stdout] --> tests/visitors_tests.rs:106:8 [INFO] [stdout] | [INFO] [stdout] 106 | fn test_should_not_visit_EOF() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_should_not_visit_eof` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [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: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.23s [INFO] running `Command { std: "docker" "inspect" "10603ae64374b3d80fbebaf45ee8c3f08f4430d1c972cc310bd67aa40326e50c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "10603ae64374b3d80fbebaf45ee8c3f08f4430d1c972cc310bd67aa40326e50c", kill_on_drop: false }` [INFO] [stdout] 10603ae64374b3d80fbebaf45ee8c3f08f4430d1c972cc310bd67aa40326e50c