[INFO] fetching crate antlr-rust 0.3.0-beta... [INFO] testing antlr-rust-0.3.0-beta against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate antlr-rust 0.3.0-beta into /workspace/builds/worker-6-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-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate antlr-rust 0.3.0-beta on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 23 packages to latest compatible versions [INFO] [stderr] Adding bit-set v0.5.3 (available: v0.8.0) [INFO] [stderr] Adding murmur3 v0.4.1 (available: v0.5.2) [INFO] [stderr] Adding parking_lot v0.11.2 (available: v0.12.4) [INFO] [stderr] Adding uuid v0.8.2 (available: v1.17.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded murmur3 v0.4.1 [INFO] [stderr] Downloaded better_any v0.2.0 [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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 75aea0decfcb6cdd91f4dd2bb48b40768fd1e9ab63aa5c51f636ab1fa30cc23d [INFO] running `Command { std: "docker" "start" "-a" "75aea0decfcb6cdd91f4dd2bb48b40768fd1e9ab63aa5c51f636ab1fa30cc23d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "75aea0decfcb6cdd91f4dd2bb48b40768fd1e9ab63aa5c51f636ab1fa30cc23d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "75aea0decfcb6cdd91f4dd2bb48b40768fd1e9ab63aa5c51f636ab1fa30cc23d", kill_on_drop: false }` [INFO] [stdout] 75aea0decfcb6cdd91f4dd2bb48b40768fd1e9ab63aa5c51f636ab1fa30cc23d [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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 5189fae62dba00eb5cdd74d6d0f03d9e8075fa53e5227c9198ff4a48025d59b8 [INFO] running `Command { std: "docker" "start" "-a" "5189fae62dba00eb5cdd74d6d0f03d9e8075fa53e5227c9198ff4a48025d59b8", kill_on_drop: false }` [INFO] [stderr] Compiling parking_lot_core v0.8.6 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling bit-vec v0.6.3 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling instant v0.1.13 [INFO] [stderr] Compiling typed-arena v2.0.2 [INFO] [stderr] Compiling uuid v0.8.2 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling better_any v0.2.0 [INFO] [stderr] Compiling bit-set v0.5.3 [INFO] [stderr] Compiling murmur3 v0.4.1 [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Tid` [INFO] [stdout] --> src/token_factory.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TidAble` and `Tid` [INFO] [stdout] --> src/token_stream.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::atn::INVALID_ALT` [INFO] [stdout] --> src/tree.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::atn::INVALID_ALT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RuleContextExt` [INFO] [stdout] --> src/tree.rs:16:53 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::parser_rule_context::{ParserRuleContext, RuleContextExt}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TidAble` and `Tid` [INFO] [stdout] --> src/tree.rs:22:18 [INFO] [stdout] | [INFO] [stdout] 22 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TidAble` and `Tid` [INFO] [stdout] --> src/common_token_stream.rs:9:18 [INFO] [stdout] | [INFO] [stdout] 9 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `better_any::TidAble` [INFO] [stdout] --> src/input_stream.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use better_any::TidAble; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Tid` [INFO] [stdout] --> src/parser.rs:26:18 [INFO] [stdout] | [INFO] [stdout] 26 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Tid` [INFO] [stdout] --> src/rule_context.rs:14:18 [INFO] [stdout] | [INFO] [stdout] 14 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/error_strategy.rs:584:13 [INFO] [stdout] | [INFO] [stdout] 580 | / loop { [INFO] [stdout] 581 | | ctx.set_exception(e.clone()); [INFO] [stdout] 582 | | ctx = ctx.get_parent()? [INFO] [stdout] 583 | | } [INFO] [stdout] | |_____________- any code following this expression is unreachable [INFO] [stdout] 584 | Some(()) [INFO] [stdout] | ^^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 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: 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) -> 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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.15s [INFO] running `Command { std: "docker" "inspect" "5189fae62dba00eb5cdd74d6d0f03d9e8075fa53e5227c9198ff4a48025d59b8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5189fae62dba00eb5cdd74d6d0f03d9e8075fa53e5227c9198ff4a48025d59b8", kill_on_drop: false }` [INFO] [stdout] 5189fae62dba00eb5cdd74d6d0f03d9e8075fa53e5227c9198ff4a48025d59b8 [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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] d1c7bfe1d4239be169d002225c0dad4c92f756ecfc27bf38f1d554340c0d3458 [INFO] running `Command { std: "docker" "start" "-a" "d1c7bfe1d4239be169d002225c0dad4c92f756ecfc27bf38f1d554340c0d3458", 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)]` 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] [stderr] Compiling antlr-rust v0.3.0-beta (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `TidAble` and `Tid` [INFO] [stdout] --> src/token_stream.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::atn::INVALID_ALT` [INFO] [stdout] --> src/tree.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::atn::INVALID_ALT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RuleContextExt` [INFO] [stdout] --> src/tree.rs:16:53 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::parser_rule_context::{ParserRuleContext, RuleContextExt}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TidAble` and `Tid` [INFO] [stdout] --> src/tree.rs:22:18 [INFO] [stdout] | [INFO] [stdout] 22 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TidAble` and `Tid` [INFO] [stdout] --> src/common_token_stream.rs:9:18 [INFO] [stdout] | [INFO] [stdout] 9 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `better_any::TidAble` [INFO] [stdout] --> src/input_stream.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use better_any::TidAble; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Tid` [INFO] [stdout] --> src/parser.rs:26:18 [INFO] [stdout] | [INFO] [stdout] 26 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Tid` [INFO] [stdout] --> src/rule_context.rs:14:18 [INFO] [stdout] | [INFO] [stdout] 14 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/error_strategy.rs:584:13 [INFO] [stdout] | [INFO] [stdout] 580 | / loop { [INFO] [stdout] 581 | | ctx.set_exception(e.clone()); [INFO] [stdout] 582 | | ctx = ctx.get_parent()? [INFO] [stdout] 583 | | } [INFO] [stdout] | |_____________- any code following this expression is unreachable [INFO] [stdout] 584 | Some(()) [INFO] [stdout] | ^^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 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: 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) -> 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: 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: unused imports: `ParseTreeVisitorCompat`, `ParseTreeVisitor`, `ParseTreeWalker`, `Tree`, `VisitChildren`, and `Visitable` [INFO] [stdout] --> tests/general_tests.rs:23:39 [INFO] [stdout] | [INFO] [stdout] 23 | ParseTree, ParseTreeListener, ParseTreeVisitor, ParseTreeVisitorCompat, ParseTreeWalker, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | TerminalNode, Tree, VisitChildren, Visitable, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CsvFileContext`, `HdrContext`, and `RowContext` [INFO] [stdout] --> tests/general_tests.rs:36:49 [INFO] [stdout] | [INFO] [stdout] 36 | CSVParserContext, CSVParserContextType, CsvFileContext, HdrContext, RowContext, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::gen::csvvisitor::CSVVisitor` [INFO] [stdout] --> tests/general_tests.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | use crate::gen::csvvisitor::CSVVisitor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `allow` [INFO] [stdout] --> src/token_factory.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | #[allow(non_upper_case_globals)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `allow` will be ignored, since it's applied to the macro invocation `lazy_static` [INFO] [stdout] --> src/token_factory.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | lazy_static! { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Tid` [INFO] [stdout] --> src/token_factory.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TidAble` and `Tid` [INFO] [stdout] --> src/token_stream.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::atn::INVALID_ALT` [INFO] [stdout] --> src/tree.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::atn::INVALID_ALT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RuleContextExt` [INFO] [stdout] --> src/tree.rs:16:53 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::parser_rule_context::{ParserRuleContext, RuleContextExt}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TidAble` and `Tid` [INFO] [stdout] --> src/tree.rs:22:18 [INFO] [stdout] | [INFO] [stdout] 22 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TidAble` and `Tid` [INFO] [stdout] --> src/common_token_stream.rs:9:18 [INFO] [stdout] | [INFO] [stdout] 9 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `better_any::TidAble` [INFO] [stdout] --> src/input_stream.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use better_any::TidAble; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Tid` [INFO] [stdout] --> src/parser.rs:26:18 [INFO] [stdout] | [INFO] [stdout] 26 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Tid` [INFO] [stdout] --> src/rule_context.rs:14:18 [INFO] [stdout] | [INFO] [stdout] 14 | use better_any::{Tid, TidAble}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/error_strategy.rs:584:13 [INFO] [stdout] | [INFO] [stdout] 580 | / loop { [INFO] [stdout] 581 | | ctx.set_exception(e.clone()); [INFO] [stdout] 582 | | ctx = ctx.get_parent()? [INFO] [stdout] 583 | | } [INFO] [stdout] | |_____________- any code following this expression is unreachable [INFO] [stdout] 584 | Some(()) [INFO] [stdout] | ^^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 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 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: unused variable: `aggregate` [INFO] [stdout] --> tests/visitors_tests.rs:206:17 [INFO] [stdout] | [INFO] [stdout] 206 | aggregate: Self::Return, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggregate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next` [INFO] [stdout] --> tests/visitors_tests.rs:207:17 [INFO] [stdout] | [INFO] [stdout] 207 | next: Self::Return, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_next` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestVisitorUnit` is never constructed [INFO] [stdout] --> tests/visitors_tests.rs:140:16 [INFO] [stdout] | [INFO] [stdout] 140 | struct TestVisitorUnit(String); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_should_not_visit_EOF` should have a snake case name [INFO] [stdout] --> tests/visitors_tests.rs:106:8 [INFO] [stdout] | [INFO] [stdout] 106 | fn test_should_not_visit_EOF() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_should_not_visit_eof` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 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: 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) -> 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] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 9.07s [INFO] running `Command { std: "docker" "inspect" "d1c7bfe1d4239be169d002225c0dad4c92f756ecfc27bf38f1d554340c0d3458", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d1c7bfe1d4239be169d002225c0dad4c92f756ecfc27bf38f1d554340c0d3458", kill_on_drop: false }` [INFO] [stdout] d1c7bfe1d4239be169d002225c0dad4c92f756ecfc27bf38f1d554340c0d3458 [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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 919f5a8cbe43c9aa31e93ab3ccd0cf66443ea720142cccb9a7cec0bf93079f96 [INFO] running `Command { std: "docker" "start" "-a" "919f5a8cbe43c9aa31e93ab3ccd0cf66443ea720142cccb9a7cec0bf93079f96", 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)]` 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)]` 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)]` 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)]` 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: &>::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)]` 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) -> Rc; [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) -> Box; [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) -> Rc; [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) -> Box; [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: &>::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: &>::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: &>::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, [INFO] [stderr] ... | [INFO] [stderr] 110 | | pub text: Option<::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 &'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 9 suggestions) [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)]` 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)]` 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)]` 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: &>::Type, [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` 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: &>::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)]` 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)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `antlr-rust` (test "general_tests") generated 4 warnings (run `cargo fix --test "general_tests"` 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"` to apply 4 suggestions) [INFO] [stderr] warning: `antlr-rust` (lib test) generated 37 warnings (37 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/antlr_rust-15077069ba65c254) [INFO] [stdout] [INFO] [stdout] running 43 tests [INFO] [stdout] test interval_set::test::test_add_1 ... ok [INFO] [stdout] test interval_set::test::test_add_2 ... ok [INFO] [stdout] test input_stream::test::test_byte_input_stream ... ok [INFO] [stdout] test interval_set::test::test_remove ... ok [INFO] [stdout] test input_stream::test::test_str_input_stream ... ok [INFO] [stdout] test interval_set::test::test_substract ... ok [INFO] [stdout] test prediction_context::test::test_Aa_Abc ... ok [INFO] [stdout] test prediction_context::test::test_Aab_Aa ... ok [INFO] [stdout] test prediction_context::test::test_Aab_Ab ... ok [INFO] [stdout] test prediction_context::test::test_Aab_Ac ... ok [INFO] [stdout] test prediction_context::test::test_Aa_Aa ... 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_Aaubv_Abvdx ... ok [INFO] [stdout] test prediction_context::test::test_Aax_Aay ... ok [INFO] [stdout] test prediction_context::test::test_Aaubv_Acwdx ... ok [INFO] [stdout] test prediction_context::test::test_Aaxc_Aayd ... ok [INFO] [stdout] test prediction_context::test::test_Aaubv_Abwdx ... 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_Aax_Aby ... 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_abx_acx ... ok [INFO] [stdout] test prediction_context::test::test_ae_ax ... ok [INFO] [stdout] test prediction_context::test::test_Aaubu_Acudu ... ok [INFO] [stdout] test prediction_context::test::test_ae_ax_fullctx ... ok [INFO] [stdout] test prediction_context::test::test_aex_bfx ... ignored [INFO] [stdout] test prediction_context::test::test_ae_bx_fullctx ... ok [INFO] [stdout] test prediction_context::test::test_ax_bx ... 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_ax_bx_same ... ok [INFO] [stdout] test prediction_context::test::test_ax_ax_same ... ok [INFO] [stdout] test prediction_context::test::test_ae_bx ... ok [INFO] [stdout] test prediction_context::test::test_e_x ... ok [INFO] [stdout] test prediction_context::test::test_e_e ... ok [INFO] [stdout] test prediction_context::test::test_e_e_fullctx ... ok [INFO] [stdout] test prediction_context::test::test_e_x_fullctx ... ok [INFO] [stdout] test prediction_context::test::test_x_e ... ok [INFO] [stdout] test prediction_context::test::test_x_e_fullctx ... ok [INFO] [stdout] test prediction_context::test::test_axe_ae_fullctx ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 42 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running tests/general_tests.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/general_tests-4dea15209a8eac56) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test gen::test_byte_parser ... ok [INFO] [stdout] test gen::test_complex_convert ... ok [INFO] [stdout] test gen::lexer_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_immediate_lr ... ok [INFO] [stdout] test gen::parser_test_csv ... 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.03s [INFO] [stdout] [INFO] [stderr] Running tests/perf.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/perf-e334d9773b1c30f7) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/visitors_tests.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/visitors_tests-3fe515d58b62953f) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test gen::test_visitor_retrieve_reference ... ok [INFO] [stdout] test gen::test_should_not_visit_EOF ... ok [INFO] [stdout] test gen::test_should_not_visit_anything ... ok [INFO] [stdout] test gen::test_visit_terminal_node ... ok [INFO] [stdout] test gen::test_visit_error_node ... ok [INFO] [stdout] test gen::test_visitor_retrieve_reference_by_return ... ok [INFO] [stdout] test gen::test_visitor_with_return ... 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] running `Command { std: "docker" "inspect" "919f5a8cbe43c9aa31e93ab3ccd0cf66443ea720142cccb9a7cec0bf93079f96", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "919f5a8cbe43c9aa31e93ab3ccd0cf66443ea720142cccb9a7cec0bf93079f96", kill_on_drop: false }` [INFO] [stdout] 919f5a8cbe43c9aa31e93ab3ccd0cf66443ea720142cccb9a7cec0bf93079f96