[INFO] fetching crate oak-rust 0.0.0... [INFO] testing oak-rust-0.0.0 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-8 [INFO] extracting crate oak-rust 0.0.0 into /workspace/builds/worker-3-tc2/source [INFO] started tweaking crates.io crate oak-rust 0.0.0 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate oak-rust 0.0.0 [INFO] tweaked toml for crates.io crate oak-rust 0.0.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate oak-rust 0.0.0 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate oak-rust 0.0.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 43159347162f9d7b245aadfcf6f275e5a1478f4d3c97c3bdbd44f1fc09b09de3 [INFO] running `Command { std: "docker" "start" "-a" "43159347162f9d7b245aadfcf6f275e5a1478f4d3c97c3bdbd44f1fc09b09de3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "43159347162f9d7b245aadfcf6f275e5a1478f4d3c97c3bdbd44f1fc09b09de3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "43159347162f9d7b245aadfcf6f275e5a1478f4d3c97c3bdbd44f1fc09b09de3", kill_on_drop: false }` [INFO] [stdout] 43159347162f9d7b245aadfcf6f275e5a1478f4d3c97c3bdbd44f1fc09b09de3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7f3736c849440c835b8fc15917141e80b62d9167a78eaa5064147def3dd3dc6b [INFO] running `Command { std: "docker" "start" "-a" "7f3736c849440c835b8fc15917141e80b62d9167a78eaa5064147def3dd3dc6b", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling fluent-uri v0.1.4 [INFO] [stderr] Compiling triomphe v0.1.15 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling zerovec v0.11.4 [INFO] [stderr] Compiling zerotrie v0.2.2 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling tinystr v0.8.1 [INFO] [stderr] Compiling potential_utf v0.1.3 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling icu_locale_core v2.0.0 [INFO] [stderr] Compiling lsp-types v0.97.0 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling oak-core v0.0.0 [INFO] [stderr] Compiling oak-rust v0.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `GreenLeaf` [INFO] [stdout] --> src/parser/mod.rs:3:107 [INFO] [stdout] | [INFO] [stdout] 3 | errors::OakDiagnostics, parser::{OperatorInfo, ParserState, PrattParser}, source::Source, tree::{Arc, GreenLeaf, GreenTree}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SourceLocation` [INFO] [stdout] --> src/parser/parse.rs:3:30 [INFO] [stdout] | [INFO] [stdout] 3 | use oak_core::{GreenBuilder, SourceLocation}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/lexer/mod.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct RustLexer<'config> { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 59 | config: &'config RustLanguage, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RustLexer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/parser/mod.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct RustParser<'config> { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 65 | /// Language configuration [INFO] [stdout] 66 | config: &'config RustLanguage, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RustParser` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `parse_function_with_builder` and `parse_param_list_with_builder` are never used [INFO] [stdout] --> src/parser/parse.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 20 | impl<'config> RustParser<'config> { [INFO] [stdout] | --------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 126 | fn parse_function_with_builder(&self, state: &mut State, builder: &mut GreenBuilder) -> Result(&self, state: &mut State) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> src/lib.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub mod ast; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/ast/mod.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Identifier { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub name: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub span: Range, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub items: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | Function(Function), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | Statement(Statement), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/ast/mod.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct Function { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub name: Identifier, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub params: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub body: Block, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub span: Range, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/ast/mod.rs:33:1 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct Param { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub name: Identifier, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | pub ty: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub span: Range, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/ast/mod.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct Block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | pub statements: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub span: Range, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/ast/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | pub enum Statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | Let { name: Identifier, expr: Expr, span: Range }, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | Let { name: Identifier, expr: Expr, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:47:29 [INFO] [stdout] | [INFO] [stdout] 47 | Let { name: Identifier, expr: Expr, span: Range }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:47:41 [INFO] [stdout] | [INFO] [stdout] 47 | Let { name: Identifier, expr: Expr, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | ExprStmt { expr: Expr, semi: bool, span: Range }, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | ExprStmt { expr: Expr, semi: bool, span: Range }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:48:28 [INFO] [stdout] | [INFO] [stdout] 48 | ExprStmt { expr: Expr, semi: bool, span: Range }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:48:40 [INFO] [stdout] | [INFO] [stdout] 48 | ExprStmt { expr: Expr, semi: bool, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/ast/mod.rs:52:1 [INFO] [stdout] | [INFO] [stdout] 52 | pub enum Expr { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | Ident(Identifier), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | Literal { value: String, span: Range }, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:54:15 [INFO] [stdout] | [INFO] [stdout] 54 | Literal { value: String, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:54:30 [INFO] [stdout] | [INFO] [stdout] 54 | Literal { value: String, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | Bool { value: bool, span: Range }, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | Bool { value: bool, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:55:25 [INFO] [stdout] | [INFO] [stdout] 55 | Bool { value: bool, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | Unary { op: RustSyntaxKind, expr: Box, span: Range }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | Unary { op: RustSyntaxKind, expr: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:56:33 [INFO] [stdout] | [INFO] [stdout] 56 | Unary { op: RustSyntaxKind, expr: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:56:50 [INFO] [stdout] | [INFO] [stdout] 56 | Unary { op: RustSyntaxKind, expr: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | Binary { left: Box, op: RustSyntaxKind, right: Box, span: Range }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:57:14 [INFO] [stdout] | [INFO] [stdout] 57 | Binary { left: Box, op: RustSyntaxKind, right: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:57:31 [INFO] [stdout] | [INFO] [stdout] 57 | Binary { left: Box, op: RustSyntaxKind, right: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:57:51 [INFO] [stdout] | [INFO] [stdout] 57 | Binary { left: Box, op: RustSyntaxKind, right: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:57:69 [INFO] [stdout] | [INFO] [stdout] 57 | Binary { left: Box, op: RustSyntaxKind, right: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | Call { callee: Box, args: Vec, span: Range }, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | Call { callee: Box, args: Vec, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:58:31 [INFO] [stdout] | [INFO] [stdout] 58 | Call { callee: Box, args: Vec, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:58:48 [INFO] [stdout] | [INFO] [stdout] 58 | Call { callee: Box, args: Vec, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | Field { receiver: Box, field: Identifier, span: Range }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | Field { receiver: Box, field: Identifier, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:59:34 [INFO] [stdout] | [INFO] [stdout] 59 | Field { receiver: Box, field: Identifier, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:59:53 [INFO] [stdout] | [INFO] [stdout] 59 | Field { receiver: Box, field: Identifier, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | Index { receiver: Box, index: Box, span: Range }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | Index { receiver: Box, index: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:60:34 [INFO] [stdout] | [INFO] [stdout] 60 | Index { receiver: Box, index: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:60:52 [INFO] [stdout] | [INFO] [stdout] 60 | Index { receiver: Box, index: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | Paren { expr: Box, span: Range }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | Paren { expr: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:61:30 [INFO] [stdout] | [INFO] [stdout] 61 | Paren { expr: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | Block(Block), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:243:5 [INFO] [stdout] | [INFO] [stdout] 243 | pub fn parse_param(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:276:5 [INFO] [stdout] | [INFO] [stdout] 276 | pub fn parse_block(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:306:5 [INFO] [stdout] | [INFO] [stdout] 306 | pub fn parse_stmt(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:313:5 [INFO] [stdout] | [INFO] [stdout] 313 | pub fn parse_let_stmt(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:359:5 [INFO] [stdout] | [INFO] [stdout] 359 | pub fn parse_expr_stmt(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:377:5 [INFO] [stdout] | [INFO] [stdout] 377 | pub fn parse_expr(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:398:5 [INFO] [stdout] | [INFO] [stdout] 398 | pub fn parse_use_item(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:431:5 [INFO] [stdout] | [INFO] [stdout] 431 | pub fn parse_const_item(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:495:5 [INFO] [stdout] | [INFO] [stdout] 495 | pub fn parse_mod_item(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:528:5 [INFO] [stdout] | [INFO] [stdout] 528 | pub fn parse_pub_item(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.32s [INFO] running `Command { std: "docker" "inspect" "7f3736c849440c835b8fc15917141e80b62d9167a78eaa5064147def3dd3dc6b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7f3736c849440c835b8fc15917141e80b62d9167a78eaa5064147def3dd3dc6b", kill_on_drop: false }` [INFO] [stdout] 7f3736c849440c835b8fc15917141e80b62d9167a78eaa5064147def3dd3dc6b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ffaa25e64ad3743979c9a902591b2258190042d94dac7320cce85cf2b37703d1 [INFO] running `Command { std: "docker" "start" "-a" "ffaa25e64ad3743979c9a902591b2258190042d94dac7320cce85cf2b37703d1", kill_on_drop: false }` [INFO] [stderr] Compiling oak-core v0.0.0 [INFO] [stderr] Compiling oak-rust v0.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `GreenLeaf` [INFO] [stdout] --> src/parser/mod.rs:3:107 [INFO] [stdout] | [INFO] [stdout] 3 | errors::OakDiagnostics, parser::{OperatorInfo, ParserState, PrattParser}, source::Source, tree::{Arc, GreenLeaf, GreenTree}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SourceLocation` [INFO] [stdout] --> src/parser/parse.rs:3:30 [INFO] [stdout] | [INFO] [stdout] 3 | use oak_core::{GreenBuilder, SourceLocation}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GreenLeaf` [INFO] [stdout] --> src/parser/mod.rs:3:107 [INFO] [stdout] | [INFO] [stdout] 3 | errors::OakDiagnostics, parser::{OperatorInfo, ParserState, PrattParser}, source::Source, tree::{Arc, GreenLeaf, GreenTree}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SourceLocation` [INFO] [stdout] --> src/parser/parse.rs:3:30 [INFO] [stdout] | [INFO] [stdout] 3 | use oak_core::{GreenBuilder, SourceLocation}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/lexer/mod.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct RustLexer<'config> { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 59 | config: &'config RustLanguage, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RustLexer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/parser/mod.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct RustParser<'config> { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 65 | /// Language configuration [INFO] [stdout] 66 | config: &'config RustLanguage, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RustParser` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `parse_function_with_builder` and `parse_param_list_with_builder` are never used [INFO] [stdout] --> src/parser/parse.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 20 | impl<'config> RustParser<'config> { [INFO] [stdout] | --------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 126 | fn parse_function_with_builder(&self, state: &mut State, builder: &mut GreenBuilder) -> Result(&self, state: &mut State) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> src/lib.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub mod ast; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/ast/mod.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Identifier { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub name: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub span: Range, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub items: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | Function(Function), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | Statement(Statement), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/ast/mod.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct Function { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub name: Identifier, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub params: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub body: Block, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub span: Range, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/ast/mod.rs:33:1 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct Param { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub name: Identifier, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | pub ty: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub span: Range, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/ast/mod.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct Block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | pub statements: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub span: Range, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/ast/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | pub enum Statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | Let { name: Identifier, expr: Expr, span: Range }, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | Let { name: Identifier, expr: Expr, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:47:29 [INFO] [stdout] | [INFO] [stdout] 47 | Let { name: Identifier, expr: Expr, span: Range }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:47:41 [INFO] [stdout] | [INFO] [stdout] 47 | Let { name: Identifier, expr: Expr, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | ExprStmt { expr: Expr, semi: bool, span: Range }, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | ExprStmt { expr: Expr, semi: bool, span: Range }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:48:28 [INFO] [stdout] | [INFO] [stdout] 48 | ExprStmt { expr: Expr, semi: bool, span: Range }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:48:40 [INFO] [stdout] | [INFO] [stdout] 48 | ExprStmt { expr: Expr, semi: bool, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/ast/mod.rs:52:1 [INFO] [stdout] | [INFO] [stdout] 52 | pub enum Expr { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | Ident(Identifier), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | Literal { value: String, span: Range }, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:54:15 [INFO] [stdout] | [INFO] [stdout] 54 | Literal { value: String, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:54:30 [INFO] [stdout] | [INFO] [stdout] 54 | Literal { value: String, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | Bool { value: bool, span: Range }, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | Bool { value: bool, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:55:25 [INFO] [stdout] | [INFO] [stdout] 55 | Bool { value: bool, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | Unary { op: RustSyntaxKind, expr: Box, span: Range }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | Unary { op: RustSyntaxKind, expr: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:56:33 [INFO] [stdout] | [INFO] [stdout] 56 | Unary { op: RustSyntaxKind, expr: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:56:50 [INFO] [stdout] | [INFO] [stdout] 56 | Unary { op: RustSyntaxKind, expr: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | Binary { left: Box, op: RustSyntaxKind, right: Box, span: Range }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:57:14 [INFO] [stdout] | [INFO] [stdout] 57 | Binary { left: Box, op: RustSyntaxKind, right: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:57:31 [INFO] [stdout] | [INFO] [stdout] 57 | Binary { left: Box, op: RustSyntaxKind, right: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:57:51 [INFO] [stdout] | [INFO] [stdout] 57 | Binary { left: Box, op: RustSyntaxKind, right: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:57:69 [INFO] [stdout] | [INFO] [stdout] 57 | Binary { left: Box, op: RustSyntaxKind, right: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | Call { callee: Box, args: Vec, span: Range }, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | Call { callee: Box, args: Vec, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:58:31 [INFO] [stdout] | [INFO] [stdout] 58 | Call { callee: Box, args: Vec, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:58:48 [INFO] [stdout] | [INFO] [stdout] 58 | Call { callee: Box, args: Vec, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | Field { receiver: Box, field: Identifier, span: Range }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | Field { receiver: Box, field: Identifier, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:59:34 [INFO] [stdout] | [INFO] [stdout] 59 | Field { receiver: Box, field: Identifier, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:59:53 [INFO] [stdout] | [INFO] [stdout] 59 | Field { receiver: Box, field: Identifier, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | Index { receiver: Box, index: Box, span: Range }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | Index { receiver: Box, index: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:60:34 [INFO] [stdout] | [INFO] [stdout] 60 | Index { receiver: Box, index: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:60:52 [INFO] [stdout] | [INFO] [stdout] 60 | Index { receiver: Box, index: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | Paren { expr: Box, span: Range }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | Paren { expr: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:61:30 [INFO] [stdout] | [INFO] [stdout] 61 | Paren { expr: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | Block(Block), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:243:5 [INFO] [stdout] | [INFO] [stdout] 243 | pub fn parse_param(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:276:5 [INFO] [stdout] | [INFO] [stdout] 276 | pub fn parse_block(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:306:5 [INFO] [stdout] | [INFO] [stdout] 306 | pub fn parse_stmt(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:313:5 [INFO] [stdout] | [INFO] [stdout] 313 | pub fn parse_let_stmt(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:359:5 [INFO] [stdout] | [INFO] [stdout] 359 | pub fn parse_expr_stmt(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:377:5 [INFO] [stdout] | [INFO] [stdout] 377 | pub fn parse_expr(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:398:5 [INFO] [stdout] | [INFO] [stdout] 398 | pub fn parse_use_item(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:431:5 [INFO] [stdout] | [INFO] [stdout] 431 | pub fn parse_const_item(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:495:5 [INFO] [stdout] | [INFO] [stdout] 495 | pub fn parse_mod_item(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:528:5 [INFO] [stdout] | [INFO] [stdout] 528 | pub fn parse_pub_item(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/lexer/mod.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct RustLexer<'config> { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 59 | config: &'config RustLanguage, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RustLexer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/parser/mod.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct RustParser<'config> { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 65 | /// Language configuration [INFO] [stdout] 66 | config: &'config RustLanguage, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RustParser` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `parse_function_with_builder` and `parse_param_list_with_builder` are never used [INFO] [stdout] --> src/parser/parse.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 20 | impl<'config> RustParser<'config> { [INFO] [stdout] | --------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 126 | fn parse_function_with_builder(&self, state: &mut State, builder: &mut GreenBuilder) -> Result(&self, state: &mut State) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> src/lib.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub mod ast; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/ast/mod.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Identifier { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub name: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub span: Range, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub items: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | Function(Function), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | Statement(Statement), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/ast/mod.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct Function { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub name: Identifier, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub params: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub body: Block, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub span: Range, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/ast/mod.rs:33:1 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct Param { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub name: Identifier, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | pub ty: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub span: Range, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/ast/mod.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct Block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | pub statements: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub span: Range, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/ast/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | pub enum Statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | Let { name: Identifier, expr: Expr, span: Range }, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | Let { name: Identifier, expr: Expr, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:47:29 [INFO] [stdout] | [INFO] [stdout] 47 | Let { name: Identifier, expr: Expr, span: Range }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:47:41 [INFO] [stdout] | [INFO] [stdout] 47 | Let { name: Identifier, expr: Expr, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | ExprStmt { expr: Expr, semi: bool, span: Range }, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | ExprStmt { expr: Expr, semi: bool, span: Range }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:48:28 [INFO] [stdout] | [INFO] [stdout] 48 | ExprStmt { expr: Expr, semi: bool, span: Range }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:48:40 [INFO] [stdout] | [INFO] [stdout] 48 | ExprStmt { expr: Expr, semi: bool, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/ast/mod.rs:52:1 [INFO] [stdout] | [INFO] [stdout] 52 | pub enum Expr { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | Ident(Identifier), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | Literal { value: String, span: Range }, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:54:15 [INFO] [stdout] | [INFO] [stdout] 54 | Literal { value: String, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:54:30 [INFO] [stdout] | [INFO] [stdout] 54 | Literal { value: String, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | Bool { value: bool, span: Range }, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | Bool { value: bool, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:55:25 [INFO] [stdout] | [INFO] [stdout] 55 | Bool { value: bool, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | Unary { op: RustSyntaxKind, expr: Box, span: Range }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | Unary { op: RustSyntaxKind, expr: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:56:33 [INFO] [stdout] | [INFO] [stdout] 56 | Unary { op: RustSyntaxKind, expr: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:56:50 [INFO] [stdout] | [INFO] [stdout] 56 | Unary { op: RustSyntaxKind, expr: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | Binary { left: Box, op: RustSyntaxKind, right: Box, span: Range }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:57:14 [INFO] [stdout] | [INFO] [stdout] 57 | Binary { left: Box, op: RustSyntaxKind, right: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:57:31 [INFO] [stdout] | [INFO] [stdout] 57 | Binary { left: Box, op: RustSyntaxKind, right: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:57:51 [INFO] [stdout] | [INFO] [stdout] 57 | Binary { left: Box, op: RustSyntaxKind, right: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:57:69 [INFO] [stdout] | [INFO] [stdout] 57 | Binary { left: Box, op: RustSyntaxKind, right: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | Call { callee: Box, args: Vec, span: Range }, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | Call { callee: Box, args: Vec, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:58:31 [INFO] [stdout] | [INFO] [stdout] 58 | Call { callee: Box, args: Vec, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:58:48 [INFO] [stdout] | [INFO] [stdout] 58 | Call { callee: Box, args: Vec, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | Field { receiver: Box, field: Identifier, span: Range }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | Field { receiver: Box, field: Identifier, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:59:34 [INFO] [stdout] | [INFO] [stdout] 59 | Field { receiver: Box, field: Identifier, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:59:53 [INFO] [stdout] | [INFO] [stdout] 59 | Field { receiver: Box, field: Identifier, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | Index { receiver: Box, index: Box, span: Range }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | Index { receiver: Box, index: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:60:34 [INFO] [stdout] | [INFO] [stdout] 60 | Index { receiver: Box, index: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:60:52 [INFO] [stdout] | [INFO] [stdout] 60 | Index { receiver: Box, index: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | Paren { expr: Box, span: Range }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | Paren { expr: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ast/mod.rs:61:30 [INFO] [stdout] | [INFO] [stdout] 61 | Paren { expr: Box, span: Range }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ast/mod.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | Block(Block), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:243:5 [INFO] [stdout] | [INFO] [stdout] 243 | pub fn parse_param(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:276:5 [INFO] [stdout] | [INFO] [stdout] 276 | pub fn parse_block(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:306:5 [INFO] [stdout] | [INFO] [stdout] 306 | pub fn parse_stmt(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:313:5 [INFO] [stdout] | [INFO] [stdout] 313 | pub fn parse_let_stmt(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:359:5 [INFO] [stdout] | [INFO] [stdout] 359 | pub fn parse_expr_stmt(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:377:5 [INFO] [stdout] | [INFO] [stdout] 377 | pub fn parse_expr(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:398:5 [INFO] [stdout] | [INFO] [stdout] 398 | pub fn parse_use_item(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:431:5 [INFO] [stdout] | [INFO] [stdout] 431 | pub fn parse_const_item(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:495:5 [INFO] [stdout] | [INFO] [stdout] 495 | pub fn parse_mod_item(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/parser/parse.rs:528:5 [INFO] [stdout] | [INFO] [stdout] 528 | pub fn parse_pub_item(state: &mut ParserState) -> Result>, OakError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `oak_core::Builder` [INFO] [stdout] --> tests/builder/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use oak_core::Builder; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: crate-level attribute should be in the root module [INFO] [stdout] --> tests/lexer/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(new_range_api)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parser` [INFO] [stdout] --> tests/builder/mod.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let parser = RustParser::new(&language); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source` [INFO] [stdout] --> tests/builder/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let source = "fn main() { let x = 42; }"; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 3.91s [INFO] running `Command { std: "docker" "inspect" "ffaa25e64ad3743979c9a902591b2258190042d94dac7320cce85cf2b37703d1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ffaa25e64ad3743979c9a902591b2258190042d94dac7320cce85cf2b37703d1", kill_on_drop: false }` [INFO] [stdout] ffaa25e64ad3743979c9a902591b2258190042d94dac7320cce85cf2b37703d1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 5a90e2e98ad715e71e96640ef796a0ca3516c2cb742be29572270aa0a3e4770a [INFO] running `Command { std: "docker" "start" "-a" "5a90e2e98ad715e71e96640ef796a0ca3516c2cb742be29572270aa0a3e4770a", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `GreenLeaf` [INFO] [stderr] --> src/parser/mod.rs:3:107 [INFO] [stderr] | [INFO] [stderr] 3 | errors::OakDiagnostics, parser::{OperatorInfo, ParserState, PrattParser}, source::Source, tree::{Arc, GreenLeaf, GreenTree}, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `SourceLocation` [INFO] [stderr] --> src/parser/parse.rs:3:30 [INFO] [stderr] | [INFO] [stderr] 3 | use oak_core::{GreenBuilder, SourceLocation}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `config` is never read [INFO] [stderr] --> src/lexer/mod.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 58 | pub struct RustLexer<'config> { [INFO] [stderr] | --------- field in this struct [INFO] [stderr] 59 | config: &'config RustLanguage, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `RustLexer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `config` is never read [INFO] [stderr] --> src/parser/mod.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 64 | pub struct RustParser<'config> { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] 65 | /// Language configuration [INFO] [stderr] 66 | config: &'config RustLanguage, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `RustParser` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `parse_function_with_builder` and `parse_param_list_with_builder` are never used [INFO] [stderr] --> src/parser/parse.rs:126:8 [INFO] [stderr] | [INFO] [stderr] 20 | impl<'config> RustParser<'config> { [INFO] [stderr] | --------------------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 126 | fn parse_function_with_builder(&self, state: &mut State, builder: &mut GreenBuilder) -> Result(&self, state: &mut State) -> Result>, OakError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a module [INFO] [stderr] --> src/lib.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub mod ast; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> src/lib.rs:5:9 [INFO] [stderr] | [INFO] [stderr] 5 | #![warn(missing_docs)] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct [INFO] [stderr] --> src/ast/mod.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct Identifier { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | pub name: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | pub span: Range, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub items: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/ast/mod.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | Function(Function), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/ast/mod.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | Statement(Statement), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct [INFO] [stderr] --> src/ast/mod.rs:25:1 [INFO] [stderr] | [INFO] [stderr] 25 | pub struct Function { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | pub name: Identifier, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | pub params: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | pub body: Block, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | pub span: Range, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct [INFO] [stderr] --> src/ast/mod.rs:33:1 [INFO] [stderr] | [INFO] [stderr] 33 | pub struct Param { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | pub name: Identifier, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | pub ty: String, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | pub span: Range, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct [INFO] [stderr] --> src/ast/mod.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | pub struct Block { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | pub statements: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | pub span: Range, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an enum [INFO] [stderr] --> src/ast/mod.rs:46:1 [INFO] [stderr] | [INFO] [stderr] 46 | pub enum Statement { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/ast/mod.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | Let { name: Identifier, expr: Expr, span: Range }, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:47:11 [INFO] [stderr] | [INFO] [stderr] 47 | Let { name: Identifier, expr: Expr, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:47:29 [INFO] [stderr] | [INFO] [stderr] 47 | Let { name: Identifier, expr: Expr, span: Range }, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:47:41 [INFO] [stderr] | [INFO] [stderr] 47 | Let { name: Identifier, expr: Expr, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/ast/mod.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | ExprStmt { expr: Expr, semi: bool, span: Range }, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:48:16 [INFO] [stderr] | [INFO] [stderr] 48 | ExprStmt { expr: Expr, semi: bool, span: Range }, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:48:28 [INFO] [stderr] | [INFO] [stderr] 48 | ExprStmt { expr: Expr, semi: bool, span: Range }, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:48:40 [INFO] [stderr] | [INFO] [stderr] 48 | ExprStmt { expr: Expr, semi: bool, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an enum [INFO] [stderr] --> src/ast/mod.rs:52:1 [INFO] [stderr] | [INFO] [stderr] 52 | pub enum Expr { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/ast/mod.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | Ident(Identifier), [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/ast/mod.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | Literal { value: String, span: Range }, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:54:15 [INFO] [stderr] | [INFO] [stderr] 54 | Literal { value: String, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:54:30 [INFO] [stderr] | [INFO] [stderr] 54 | Literal { value: String, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/ast/mod.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | Bool { value: bool, span: Range }, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:55:12 [INFO] [stderr] | [INFO] [stderr] 55 | Bool { value: bool, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:55:25 [INFO] [stderr] | [INFO] [stderr] 55 | Bool { value: bool, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/ast/mod.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | Unary { op: RustSyntaxKind, expr: Box, span: Range }, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | Unary { op: RustSyntaxKind, expr: Box, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:56:33 [INFO] [stderr] | [INFO] [stderr] 56 | Unary { op: RustSyntaxKind, expr: Box, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:56:50 [INFO] [stderr] | [INFO] [stderr] 56 | Unary { op: RustSyntaxKind, expr: Box, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/ast/mod.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | Binary { left: Box, op: RustSyntaxKind, right: Box, span: Range }, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:57:14 [INFO] [stderr] | [INFO] [stderr] 57 | Binary { left: Box, op: RustSyntaxKind, right: Box, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:57:31 [INFO] [stderr] | [INFO] [stderr] 57 | Binary { left: Box, op: RustSyntaxKind, right: Box, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:57:51 [INFO] [stderr] | [INFO] [stderr] 57 | Binary { left: Box, op: RustSyntaxKind, right: Box, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:57:69 [INFO] [stderr] | [INFO] [stderr] 57 | Binary { left: Box, op: RustSyntaxKind, right: Box, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/ast/mod.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | Call { callee: Box, args: Vec, span: Range }, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:58:12 [INFO] [stderr] | [INFO] [stderr] 58 | Call { callee: Box, args: Vec, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:58:31 [INFO] [stderr] | [INFO] [stderr] 58 | Call { callee: Box, args: Vec, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:58:48 [INFO] [stderr] | [INFO] [stderr] 58 | Call { callee: Box, args: Vec, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/ast/mod.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | Field { receiver: Box, field: Identifier, span: Range }, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | Field { receiver: Box, field: Identifier, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:59:34 [INFO] [stderr] | [INFO] [stderr] 59 | Field { receiver: Box, field: Identifier, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:59:53 [INFO] [stderr] | [INFO] [stderr] 59 | Field { receiver: Box, field: Identifier, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/ast/mod.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | Index { receiver: Box, index: Box, span: Range }, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | Index { receiver: Box, index: Box, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:60:34 [INFO] [stderr] | [INFO] [stderr] 60 | Index { receiver: Box, index: Box, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:60:52 [INFO] [stderr] | [INFO] [stderr] 60 | Index { receiver: Box, index: Box, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/ast/mod.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | Paren { expr: Box, span: Range }, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | Paren { expr: Box, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/ast/mod.rs:61:30 [INFO] [stderr] | [INFO] [stderr] 61 | Paren { expr: Box, span: Range }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/ast/mod.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | Block(Block), [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated function [INFO] [stderr] --> src/parser/parse.rs:243:5 [INFO] [stderr] | [INFO] [stderr] 243 | pub fn parse_param(state: &mut ParserState) -> Result>, OakError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated function [INFO] [stderr] --> src/parser/parse.rs:276:5 [INFO] [stderr] | [INFO] [stderr] 276 | pub fn parse_block(state: &mut ParserState) -> Result>, OakError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated function [INFO] [stderr] --> src/parser/parse.rs:306:5 [INFO] [stderr] | [INFO] [stderr] 306 | pub fn parse_stmt(state: &mut ParserState) -> Result>, OakError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated function [INFO] [stderr] --> src/parser/parse.rs:313:5 [INFO] [stderr] | [INFO] [stderr] 313 | pub fn parse_let_stmt(state: &mut ParserState) -> Result>, OakError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated function [INFO] [stderr] --> src/parser/parse.rs:359:5 [INFO] [stderr] | [INFO] [stderr] 359 | pub fn parse_expr_stmt(state: &mut ParserState) -> Result>, OakError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated function [INFO] [stderr] --> src/parser/parse.rs:377:5 [INFO] [stderr] | [INFO] [stderr] 377 | pub fn parse_expr(state: &mut ParserState) -> Result>, OakError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated function [INFO] [stderr] --> src/parser/parse.rs:398:5 [INFO] [stderr] | [INFO] [stderr] 398 | pub fn parse_use_item(state: &mut ParserState) -> Result>, OakError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated function [INFO] [stderr] --> src/parser/parse.rs:431:5 [INFO] [stderr] | [INFO] [stderr] 431 | pub fn parse_const_item(state: &mut ParserState) -> Result>, OakError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated function [INFO] [stderr] --> src/parser/parse.rs:495:5 [INFO] [stderr] | [INFO] [stderr] 495 | pub fn parse_mod_item(state: &mut ParserState) -> Result>, OakError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated function [INFO] [stderr] --> src/parser/parse.rs:528:5 [INFO] [stderr] | [INFO] [stderr] 528 | pub fn parse_pub_item(state: &mut ParserState) -> Result>, OakError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `oak-rust` (lib) generated 76 warnings (run `cargo fix --lib -p oak-rust` to apply 2 suggestions) [INFO] [stderr] warning: `oak-rust` (lib test) generated 76 warnings (76 duplicates) [INFO] [stderr] warning: unused import: `oak_core::Builder` [INFO] [stderr] --> tests/builder/mod.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use oak_core::Builder; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: crate-level attribute should be in the root module [INFO] [stderr] --> tests/lexer/mod.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(new_range_api)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `parser` [INFO] [stderr] --> tests/builder/mod.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 7 | let parser = RustParser::new(&language); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `source` [INFO] [stderr] --> tests/builder/mod.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | let source = "fn main() { let x = 42; }"; [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stderr] [INFO] [stderr] warning: `oak-rust` (test "main") generated 4 warnings (run `cargo fix --test "main" -p oak-rust` to apply 3 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oak_rust-7bc73d6aa2b446ce) [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/main.rs (/opt/rustwide/target/debug/deps/main-b20930af96a7f1e6) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test builder::test_rust_builder ... ok [INFO] [stdout] test lexer::test_peek_behavior ... ok [INFO] [stdout] test ready ... ok [INFO] [stdout] test lexer::test_nested_constant_parsing ... ok [INFO] [stdout] test parser::test_rust_parser ... FAILED [INFO] [stdout] test lexer::test_rust_lexer ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- parser::test_rust_parser stdout ---- [INFO] [stdout] Testing file: /opt/rustwide/workdir/tests/parser/function.rust [INFO] [stdout] Test failed for file: /opt/rustwide/workdir/tests/parser/function.rust [INFO] [stdout] Expected: ParserTestExpected { [INFO] [stdout] success: true, [INFO] [stdout] node_count: 34, [INFO] [stdout] ast_structure: AstNodeData { [INFO] [stdout] kind: "SourceFile", [INFO] [stdout] children: [ [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Function", [INFO] [stdout] children: [ [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Fn", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 2, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Whitespace", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 1, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "ParameterList", [INFO] [stdout] children: [ [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 4, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Parameter", [INFO] [stdout] children: [ [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "LeftParen", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 1, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "RightParen", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 1, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Whitespace", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 1, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] text_length: 3, [INFO] [stdout] is_leaf: false, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Parameter", [INFO] [stdout] children: [ [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "LeftBrace", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 1, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Whitespace", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 6, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Let", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 3, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] text_length: 10, [INFO] [stdout] is_leaf: false, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Parameter", [INFO] [stdout] children: [ [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Whitespace", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 1, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 1, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 2, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] text_length: 4, [INFO] [stdout] is_leaf: false, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Parameter", [INFO] [stdout] children: [ [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 3, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Whitespace", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 1, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "EqEq", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 2, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] text_length: 6, [INFO] [stdout] is_leaf: false, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Parameter", [INFO] [stdout] children: [ [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "IntegerLiteral", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 1, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Semicolon", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 1, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Whitespace", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 6, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] text_length: 8, [INFO] [stdout] is_leaf: false, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Parameter", [INFO] [stdout] children: [ [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 1, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Semicolon", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 1, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Whitespace", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 2, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] text_length: 4, [INFO] [stdout] is_leaf: false, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Parameter", [INFO] [stdout] children: [ [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "RightBrace", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 1, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "Eof", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 0, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] text_length: 1, [INFO] [stdout] is_leaf: false, [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] text_length: 40, [INFO] [stdout] is_leaf: false, [INFO] [stdout] }, [INFO] [stdout] AstNodeData { [INFO] [stdout] kind: "BlockExpression", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 0, [INFO] [stdout] is_leaf: true, [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] text_length: 43, [INFO] [stdout] is_leaf: false, [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] text_length: 43, [INFO] [stdout] is_leaf: false, [INFO] [stdout] }, [INFO] [stdout] errors: [], [INFO] [stdout] } [INFO] [stdout] Actual: ParserTestExpected { [INFO] [stdout] success: true, [INFO] [stdout] node_count: 1, [INFO] [stdout] ast_structure: AstNodeData { [INFO] [stdout] kind: "SourceFile", [INFO] [stdout] children: [], [INFO] [stdout] text_length: 0, [INFO] [stdout] is_leaf: false, [INFO] [stdout] }, [INFO] [stdout] errors: [], [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] thread 'parser::test_rust_parser' (22) panicked at tests/parser/mod.rs:13:19: [INFO] [stdout] Rust parser tests failed: Test results do not match expected results [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x56f77c5d2212 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x56f77c5d2212 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x56f77c5d2212 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x56f77c5d2212 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x56f77c5e27bf - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x56f77c5e27bf - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x56f77c59eaa3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x56f77c59eaa3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x56f77c5aae32 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x56f77c5aff8f - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x56f77c5afe21 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x56f77c53e07e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x56f77c53e07e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x56f77c5b064f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x56f77c5b064f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x56f77c5b03fa - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x56f77c5aaf69 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x56f77c592a4d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x56f77c5ea4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x56f77c504f34 - main::parser::test_rust_parser::hd68fc9ca87df21d7 [INFO] [stdout] at /opt/rustwide/workdir/tests/parser/mod.rs:13:19 [INFO] [stdout] 20: 0x56f77c504f87 - main::parser::test_rust_parser::{{closure}}::he531c9efea560ad8 [INFO] [stdout] at /opt/rustwide/workdir/tests/parser/mod.rs:6:22 [INFO] [stdout] 21: 0x56f77c4f6606 - core::ops::function::FnOnce::call_once::h29433f675fb59097 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 22: 0x56f77c53decb - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x56f77c53decb - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 24: 0x56f77c551edd - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 25: 0x56f77c551edd - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 26: 0x56f77c551edd - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 27: 0x56f77c551edd - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 28: 0x56f77c551edd - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 29: 0x56f77c551edd - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 30: 0x56f77c551edd - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 31: 0x56f77c52b424 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 32: 0x56f77c52b424 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 33: 0x56f77c52ed5a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 34: 0x56f77c52ed5a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 35: 0x56f77c52ed5a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 36: 0x56f77c52ed5a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 37: 0x56f77c52ed5a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 38: 0x56f77c52ed5a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 39: 0x56f77c52ed5a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 40: 0x56f77c5a636f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 41: 0x56f77c5a636f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 42: 0x7942f81f7aa4 - [INFO] [stdout] 43: 0x7942f8284a64 - clone [INFO] [stdout] 44: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- lexer::test_rust_lexer stdout ---- [INFO] [stdout] Testing file: /opt/rustwide/workdir/tests/lexer/basic.rust [INFO] [stdout] Test failed for file: /opt/rustwide/workdir/tests/lexer/basic.rust [INFO] [stdout] Expected: LexerTestExpected { [INFO] [stdout] success: true, [INFO] [stdout] count: 100, [INFO] [stdout] tokens: [ [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "e", [INFO] [stdout] start: 48, [INFO] [stdout] end: 49, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "g", [INFO] [stdout] start: 115, [INFO] [stdout] end: 116, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Pound", [INFO] [stdout] text: "#", [INFO] [stdout] start: 120, [INFO] [stdout] end: 121, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Not", [INFO] [stdout] text: "!", [INFO] [stdout] start: 121, [INFO] [stdout] end: 122, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "LeftBracket", [INFO] [stdout] text: "[", [INFO] [stdout] start: 122, [INFO] [stdout] end: 123, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "allow", [INFO] [stdout] start: 123, [INFO] [stdout] end: 128, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "LeftParen", [INFO] [stdout] text: "(", [INFO] [stdout] start: 128, [INFO] [stdout] end: 129, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "unused_variables", [INFO] [stdout] start: 129, [INFO] [stdout] end: 145, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 145, [INFO] [stdout] end: 146, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "dead_code", [INFO] [stdout] start: 147, [INFO] [stdout] end: 156, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 156, [INFO] [stdout] end: 157, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "unused_imports", [INFO] [stdout] start: 158, [INFO] [stdout] end: 172, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "RightParen", [INFO] [stdout] text: ")", [INFO] [stdout] start: 172, [INFO] [stdout] end: 173, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "RightBracket", [INFO] [stdout] text: "]", [INFO] [stdout] start: 173, [INFO] [stdout] end: 174, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Pound", [INFO] [stdout] text: "#", [INFO] [stdout] start: 176, [INFO] [stdout] end: 177, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Not", [INFO] [stdout] text: "!", [INFO] [stdout] start: 177, [INFO] [stdout] end: 178, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "LeftBracket", [INFO] [stdout] text: "[", [INFO] [stdout] start: 178, [INFO] [stdout] end: 179, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "warn", [INFO] [stdout] start: 179, [INFO] [stdout] end: 183, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "LeftParen", [INFO] [stdout] text: "(", [INFO] [stdout] start: 183, [INFO] [stdout] end: 184, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "missing_docs", [INFO] [stdout] start: 184, [INFO] [stdout] end: 196, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "RightParen", [INFO] [stdout] text: ")", [INFO] [stdout] start: 196, [INFO] [stdout] end: 197, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "RightBracket", [INFO] [stdout] text: "]", [INFO] [stdout] start: 197, [INFO] [stdout] end: 198, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "t", [INFO] [stdout] start: 248, [INFO] [stdout] end: 249, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "x", [INFO] [stdout] start: 303, [INFO] [stdout] end: 304, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "e", [INFO] [stdout] start: 357, [INFO] [stdout] end: 358, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "s", [INFO] [stdout] start: 409, [INFO] [stdout] end: 410, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "s", [INFO] [stdout] start: 440, [INFO] [stdout] end: 441, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Use", [INFO] [stdout] text: "use", [INFO] [stdout] start: 443, [INFO] [stdout] end: 446, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "std", [INFO] [stdout] start: 447, [INFO] [stdout] end: 450, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 450, [INFO] [stdout] end: 452, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "collections", [INFO] [stdout] start: 452, [INFO] [stdout] end: 463, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 463, [INFO] [stdout] end: 465, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "LeftBrace", [INFO] [stdout] text: "{", [INFO] [stdout] start: 465, [INFO] [stdout] end: 466, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "HashMap", [INFO] [stdout] start: 466, [INFO] [stdout] end: 473, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 473, [INFO] [stdout] end: 474, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "HashSet", [INFO] [stdout] start: 475, [INFO] [stdout] end: 482, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 482, [INFO] [stdout] end: 483, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "BTreeMap", [INFO] [stdout] start: 484, [INFO] [stdout] end: 492, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 492, [INFO] [stdout] end: 493, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "VecDeque", [INFO] [stdout] start: 494, [INFO] [stdout] end: 502, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "RightBrace", [INFO] [stdout] text: "}", [INFO] [stdout] start: 502, [INFO] [stdout] end: 503, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Semicolon", [INFO] [stdout] text: ";", [INFO] [stdout] start: 503, [INFO] [stdout] end: 504, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Use", [INFO] [stdout] text: "use", [INFO] [stdout] start: 506, [INFO] [stdout] end: 509, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "std", [INFO] [stdout] start: 510, [INFO] [stdout] end: 513, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 513, [INFO] [stdout] end: 515, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "sync", [INFO] [stdout] start: 515, [INFO] [stdout] end: 519, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 519, [INFO] [stdout] end: 521, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "LeftBrace", [INFO] [stdout] text: "{", [INFO] [stdout] start: 521, [INFO] [stdout] end: 522, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "Arc", [INFO] [stdout] start: 522, [INFO] [stdout] end: 525, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 525, [INFO] [stdout] end: 526, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "Mutex", [INFO] [stdout] start: 527, [INFO] [stdout] end: 532, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 532, [INFO] [stdout] end: 533, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "RwLock", [INFO] [stdout] start: 534, [INFO] [stdout] end: 540, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "RightBrace", [INFO] [stdout] text: "}", [INFO] [stdout] start: 540, [INFO] [stdout] end: 541, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Semicolon", [INFO] [stdout] text: ";", [INFO] [stdout] start: 541, [INFO] [stdout] end: 542, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Use", [INFO] [stdout] text: "use", [INFO] [stdout] start: 544, [INFO] [stdout] end: 547, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "std", [INFO] [stdout] start: 548, [INFO] [stdout] end: 551, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 551, [INFO] [stdout] end: 553, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "thread", [INFO] [stdout] start: 553, [INFO] [stdout] end: 559, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Semicolon", [INFO] [stdout] text: ";", [INFO] [stdout] start: 559, [INFO] [stdout] end: 560, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Use", [INFO] [stdout] text: "use", [INFO] [stdout] start: 562, [INFO] [stdout] end: 565, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "std", [INFO] [stdout] start: 566, [INFO] [stdout] end: 569, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 569, [INFO] [stdout] end: 571, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "time", [INFO] [stdout] start: 571, [INFO] [stdout] end: 575, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 575, [INFO] [stdout] end: 577, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "Duration", [INFO] [stdout] start: 577, [INFO] [stdout] end: 585, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Semicolon", [INFO] [stdout] text: ";", [INFO] [stdout] start: 585, [INFO] [stdout] end: 586, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Use", [INFO] [stdout] text: "use", [INFO] [stdout] start: 588, [INFO] [stdout] end: 591, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "std", [INFO] [stdout] start: 592, [INFO] [stdout] end: 595, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 595, [INFO] [stdout] end: 597, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "fs", [INFO] [stdout] start: 597, [INFO] [stdout] end: 599, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 599, [INFO] [stdout] end: 601, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "File", [INFO] [stdout] start: 601, [INFO] [stdout] end: 605, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Semicolon", [INFO] [stdout] text: ";", [INFO] [stdout] start: 605, [INFO] [stdout] end: 606, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Use", [INFO] [stdout] text: "use", [INFO] [stdout] start: 608, [INFO] [stdout] end: 611, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "std", [INFO] [stdout] start: 612, [INFO] [stdout] end: 615, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 615, [INFO] [stdout] end: 617, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "io", [INFO] [stdout] start: 617, [INFO] [stdout] end: 619, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 619, [INFO] [stdout] end: 621, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "LeftBrace", [INFO] [stdout] text: "{", [INFO] [stdout] start: 621, [INFO] [stdout] end: 622, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "SelfValue", [INFO] [stdout] text: "self", [INFO] [stdout] start: 622, [INFO] [stdout] end: 626, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 626, [INFO] [stdout] end: 627, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "Read", [INFO] [stdout] start: 628, [INFO] [stdout] end: 632, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 632, [INFO] [stdout] end: 633, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "Write", [INFO] [stdout] start: 634, [INFO] [stdout] end: 639, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 639, [INFO] [stdout] end: 640, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "BufRead", [INFO] [stdout] start: 641, [INFO] [stdout] end: 648, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 648, [INFO] [stdout] end: 649, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "BufReader", [INFO] [stdout] start: 650, [INFO] [stdout] end: 659, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "RightBrace", [INFO] [stdout] text: "}", [INFO] [stdout] start: 659, [INFO] [stdout] end: 660, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Semicolon", [INFO] [stdout] text: ";", [INFO] [stdout] start: 660, [INFO] [stdout] end: 661, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Use", [INFO] [stdout] text: "use", [INFO] [stdout] start: 663, [INFO] [stdout] end: 666, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "std", [INFO] [stdout] start: 667, [INFO] [stdout] end: 670, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 670, [INFO] [stdout] end: 672, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "fmt", [INFO] [stdout] start: 672, [INFO] [stdout] end: 675, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 675, [INFO] [stdout] end: 677, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "LeftBrace", [INFO] [stdout] text: "{", [INFO] [stdout] start: 677, [INFO] [stdout] end: 678, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "SelfValue", [INFO] [stdout] text: "self", [INFO] [stdout] start: 678, [INFO] [stdout] end: 682, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 682, [INFO] [stdout] end: 683, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "Display", [INFO] [stdout] start: 684, [INFO] [stdout] end: 691, [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] errors: [], [INFO] [stdout] } [INFO] [stdout] Actual: LexerTestExpected { [INFO] [stdout] success: true, [INFO] [stdout] count: 100, [INFO] [stdout] tokens: [ [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Pound", [INFO] [stdout] text: "#", [INFO] [stdout] start: 120, [INFO] [stdout] end: 121, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Not", [INFO] [stdout] text: "!", [INFO] [stdout] start: 121, [INFO] [stdout] end: 122, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "LeftBracket", [INFO] [stdout] text: "[", [INFO] [stdout] start: 122, [INFO] [stdout] end: 123, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "allow", [INFO] [stdout] start: 123, [INFO] [stdout] end: 128, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "LeftParen", [INFO] [stdout] text: "(", [INFO] [stdout] start: 128, [INFO] [stdout] end: 129, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "unused_variables", [INFO] [stdout] start: 129, [INFO] [stdout] end: 145, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 145, [INFO] [stdout] end: 146, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "dead_code", [INFO] [stdout] start: 147, [INFO] [stdout] end: 156, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 156, [INFO] [stdout] end: 157, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "unused_imports", [INFO] [stdout] start: 158, [INFO] [stdout] end: 172, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "RightParen", [INFO] [stdout] text: ")", [INFO] [stdout] start: 172, [INFO] [stdout] end: 173, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "RightBracket", [INFO] [stdout] text: "]", [INFO] [stdout] start: 173, [INFO] [stdout] end: 174, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Pound", [INFO] [stdout] text: "#", [INFO] [stdout] start: 176, [INFO] [stdout] end: 177, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Not", [INFO] [stdout] text: "!", [INFO] [stdout] start: 177, [INFO] [stdout] end: 178, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "LeftBracket", [INFO] [stdout] text: "[", [INFO] [stdout] start: 178, [INFO] [stdout] end: 179, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "warn", [INFO] [stdout] start: 179, [INFO] [stdout] end: 183, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "LeftParen", [INFO] [stdout] text: "(", [INFO] [stdout] start: 183, [INFO] [stdout] end: 184, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "missing_docs", [INFO] [stdout] start: 184, [INFO] [stdout] end: 196, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "RightParen", [INFO] [stdout] text: ")", [INFO] [stdout] start: 196, [INFO] [stdout] end: 197, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "RightBracket", [INFO] [stdout] text: "]", [INFO] [stdout] start: 197, [INFO] [stdout] end: 198, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Use", [INFO] [stdout] text: "use", [INFO] [stdout] start: 443, [INFO] [stdout] end: 446, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "std", [INFO] [stdout] start: 447, [INFO] [stdout] end: 450, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 450, [INFO] [stdout] end: 452, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "collections", [INFO] [stdout] start: 452, [INFO] [stdout] end: 463, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 463, [INFO] [stdout] end: 465, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "LeftBrace", [INFO] [stdout] text: "{", [INFO] [stdout] start: 465, [INFO] [stdout] end: 466, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "HashMap", [INFO] [stdout] start: 466, [INFO] [stdout] end: 473, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 473, [INFO] [stdout] end: 474, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "HashSet", [INFO] [stdout] start: 475, [INFO] [stdout] end: 482, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 482, [INFO] [stdout] end: 483, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "BTreeMap", [INFO] [stdout] start: 484, [INFO] [stdout] end: 492, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 492, [INFO] [stdout] end: 493, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "VecDeque", [INFO] [stdout] start: 494, [INFO] [stdout] end: 502, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "RightBrace", [INFO] [stdout] text: "}", [INFO] [stdout] start: 502, [INFO] [stdout] end: 503, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Semicolon", [INFO] [stdout] text: ";", [INFO] [stdout] start: 503, [INFO] [stdout] end: 504, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Use", [INFO] [stdout] text: "use", [INFO] [stdout] start: 506, [INFO] [stdout] end: 509, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "std", [INFO] [stdout] start: 510, [INFO] [stdout] end: 513, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 513, [INFO] [stdout] end: 515, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "sync", [INFO] [stdout] start: 515, [INFO] [stdout] end: 519, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 519, [INFO] [stdout] end: 521, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "LeftBrace", [INFO] [stdout] text: "{", [INFO] [stdout] start: 521, [INFO] [stdout] end: 522, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "Arc", [INFO] [stdout] start: 522, [INFO] [stdout] end: 525, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 525, [INFO] [stdout] end: 526, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "Mutex", [INFO] [stdout] start: 527, [INFO] [stdout] end: 532, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 532, [INFO] [stdout] end: 533, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "RwLock", [INFO] [stdout] start: 534, [INFO] [stdout] end: 540, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "RightBrace", [INFO] [stdout] text: "}", [INFO] [stdout] start: 540, [INFO] [stdout] end: 541, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Semicolon", [INFO] [stdout] text: ";", [INFO] [stdout] start: 541, [INFO] [stdout] end: 542, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Use", [INFO] [stdout] text: "use", [INFO] [stdout] start: 544, [INFO] [stdout] end: 547, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "std", [INFO] [stdout] start: 548, [INFO] [stdout] end: 551, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 551, [INFO] [stdout] end: 553, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "thread", [INFO] [stdout] start: 553, [INFO] [stdout] end: 559, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Semicolon", [INFO] [stdout] text: ";", [INFO] [stdout] start: 559, [INFO] [stdout] end: 560, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Use", [INFO] [stdout] text: "use", [INFO] [stdout] start: 562, [INFO] [stdout] end: 565, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "std", [INFO] [stdout] start: 566, [INFO] [stdout] end: 569, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 569, [INFO] [stdout] end: 571, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "time", [INFO] [stdout] start: 571, [INFO] [stdout] end: 575, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 575, [INFO] [stdout] end: 577, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "Duration", [INFO] [stdout] start: 577, [INFO] [stdout] end: 585, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Semicolon", [INFO] [stdout] text: ";", [INFO] [stdout] start: 585, [INFO] [stdout] end: 586, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Use", [INFO] [stdout] text: "use", [INFO] [stdout] start: 588, [INFO] [stdout] end: 591, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "std", [INFO] [stdout] start: 592, [INFO] [stdout] end: 595, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 595, [INFO] [stdout] end: 597, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "fs", [INFO] [stdout] start: 597, [INFO] [stdout] end: 599, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 599, [INFO] [stdout] end: 601, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "File", [INFO] [stdout] start: 601, [INFO] [stdout] end: 605, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Semicolon", [INFO] [stdout] text: ";", [INFO] [stdout] start: 605, [INFO] [stdout] end: 606, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Use", [INFO] [stdout] text: "use", [INFO] [stdout] start: 608, [INFO] [stdout] end: 611, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "std", [INFO] [stdout] start: 612, [INFO] [stdout] end: 615, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 615, [INFO] [stdout] end: 617, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "io", [INFO] [stdout] start: 617, [INFO] [stdout] end: 619, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 619, [INFO] [stdout] end: 621, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "LeftBrace", [INFO] [stdout] text: "{", [INFO] [stdout] start: 621, [INFO] [stdout] end: 622, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "SelfValue", [INFO] [stdout] text: "self", [INFO] [stdout] start: 622, [INFO] [stdout] end: 626, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 626, [INFO] [stdout] end: 627, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "Read", [INFO] [stdout] start: 628, [INFO] [stdout] end: 632, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 632, [INFO] [stdout] end: 633, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "Write", [INFO] [stdout] start: 634, [INFO] [stdout] end: 639, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 639, [INFO] [stdout] end: 640, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "BufRead", [INFO] [stdout] start: 641, [INFO] [stdout] end: 648, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 648, [INFO] [stdout] end: 649, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "BufReader", [INFO] [stdout] start: 650, [INFO] [stdout] end: 659, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "RightBrace", [INFO] [stdout] text: "}", [INFO] [stdout] start: 659, [INFO] [stdout] end: 660, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Semicolon", [INFO] [stdout] text: ";", [INFO] [stdout] start: 660, [INFO] [stdout] end: 661, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Use", [INFO] [stdout] text: "use", [INFO] [stdout] start: 663, [INFO] [stdout] end: 666, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "std", [INFO] [stdout] start: 667, [INFO] [stdout] end: 670, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 670, [INFO] [stdout] end: 672, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "fmt", [INFO] [stdout] start: 672, [INFO] [stdout] end: 675, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 675, [INFO] [stdout] end: 677, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "LeftBrace", [INFO] [stdout] text: "{", [INFO] [stdout] start: 677, [INFO] [stdout] end: 678, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "SelfValue", [INFO] [stdout] text: "self", [INFO] [stdout] start: 678, [INFO] [stdout] end: 682, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 682, [INFO] [stdout] end: 683, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "Display", [INFO] [stdout] start: 684, [INFO] [stdout] end: 691, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Comma", [INFO] [stdout] text: ",", [INFO] [stdout] start: 691, [INFO] [stdout] end: 692, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "Debug", [INFO] [stdout] start: 693, [INFO] [stdout] end: 698, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "RightBrace", [INFO] [stdout] text: "}", [INFO] [stdout] start: 698, [INFO] [stdout] end: 699, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Semicolon", [INFO] [stdout] text: ";", [INFO] [stdout] start: 699, [INFO] [stdout] end: 700, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Use", [INFO] [stdout] text: "use", [INFO] [stdout] start: 702, [INFO] [stdout] end: 705, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "Identifier", [INFO] [stdout] text: "std", [INFO] [stdout] start: 706, [INFO] [stdout] end: 709, [INFO] [stdout] }, [INFO] [stdout] TokenData { [INFO] [stdout] kind: "PathSep", [INFO] [stdout] text: "::", [INFO] [stdout] start: 709, [INFO] [stdout] end: 711, [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] errors: [], [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] thread 'lexer::test_rust_lexer' (21) panicked at tests/lexer/mod.rs:16:19: [INFO] [stdout] Rust lexer tests failed: Test results do not match expected results [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x56f77c5d2212 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x56f77c5d2212 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x56f77c5d2212 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x56f77c5d2212 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x56f77c5e27bf - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x56f77c5e27bf - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x56f77c59eaa3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x56f77c59eaa3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x56f77c5aae32 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x56f77c5aff8f - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x56f77c5afe21 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x56f77c53e07e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x56f77c53e07e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x56f77c5b064f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x56f77c5b064f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x56f77c5b03fa - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x56f77c5aaf69 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x56f77c592a4d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x56f77c5ea4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x56f77c503da8 - main::lexer::test_rust_lexer::h0da1f2f1c1b5b80c [INFO] [stdout] at /opt/rustwide/workdir/tests/lexer/mod.rs:16:19 [INFO] [stdout] 20: 0x56f77c503df7 - main::lexer::test_rust_lexer::{{closure}}::he16e60f44ff3f19a [INFO] [stdout] at /opt/rustwide/workdir/tests/lexer/mod.rs:8:21 [INFO] [stdout] 21: 0x56f77c4f6716 - core::ops::function::FnOnce::call_once::h5fc3683008cf6918 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 22: 0x56f77c53decb - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x56f77c53decb - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 24: 0x56f77c551edd - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 25: 0x56f77c551edd - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 26: 0x56f77c551edd - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 27: 0x56f77c551edd - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 28: 0x56f77c551edd - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 29: 0x56f77c551edd - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 30: 0x56f77c551edd - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 31: 0x56f77c52b424 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 32: 0x56f77c52b424 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 33: 0x56f77c52ed5a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 34: 0x56f77c52ed5a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 35: 0x56f77c52ed5a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 36: 0x56f77c52ed5a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 37: 0x56f77c52ed5a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 38: 0x56f77c52ed5a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 39: 0x56f77c52ed5a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 40: 0x56f77c5a636f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 41: 0x56f77c5a636f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 42: 0x7942f81f7aa4 - [INFO] [stdout] 43: 0x7942f8284a64 - clone [INFO] [stdout] 44: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] lexer::test_rust_lexer [INFO] [stdout] parser::test_rust_parser [INFO] [stdout] [INFO] [stdout] test result: FAILED. 4 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--test main` [INFO] running `Command { std: "docker" "inspect" "5a90e2e98ad715e71e96640ef796a0ca3516c2cb742be29572270aa0a3e4770a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5a90e2e98ad715e71e96640ef796a0ca3516c2cb742be29572270aa0a3e4770a", kill_on_drop: false }` [INFO] [stdout] 5a90e2e98ad715e71e96640ef796a0ca3516c2cb742be29572270aa0a3e4770a