[INFO] fetching crate oak-rust 0.0.0...
[INFO] testing oak-rust-0.0.0 against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] extracting crate oak-rust 0.0.0 into /workspace/builds/worker-7-tc1/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-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate oak-rust 0.0.0 on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ccc7a599fb8e2e714a2d5fd92b7665cfefa457964a4f2c9f33d9e2cd3c5c6ec0
[INFO] running `Command { std: "docker" "start" "-a" "ccc7a599fb8e2e714a2d5fd92b7665cfefa457964a4f2c9f33d9e2cd3c5c6ec0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ccc7a599fb8e2e714a2d5fd92b7665cfefa457964a4f2c9f33d9e2cd3c5c6ec0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ccc7a599fb8e2e714a2d5fd92b7665cfefa457964a4f2c9f33d9e2cd3c5c6ec0", kill_on_drop: false }`
[INFO] [stdout] ccc7a599fb8e2e714a2d5fd92b7665cfefa457964a4f2c9f33d9e2cd3c5c6ec0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 39ff7461a458bcb007a4f28bcb70e2866b8a1bb55b756d4f347d0edec99e824a
[INFO] running `Command { std: "docker" "start" "-a" "39ff7461a458bcb007a4f28bcb70e2866b8a1bb55b756d4f347d0edec99e824a", kill_on_drop: false }`
[INFO] [stderr]    Compiling fluent-uri v0.1.4
[INFO] [stderr]    Compiling triomphe v0.1.15
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling synstructure v0.13.2
[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 tracing-attributes v0.1.30
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[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 lsp-types v0.97.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[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<S: Source>(&self, state: &mut State<S>, builder: &mut GreenBuilder<RustLanguage>) -> Result<Gree...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn parse_param_list_with_builder<S: Source>(&self, state: &mut State<S>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<usize>,
[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<Item>,
[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<Param>,
[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<usize>,
[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<usize>,
[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<Statement>,
[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<usize>,
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, op: RustSyntaxKind, right: Box<Expr>, span: Range<usize> },
[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<Expr>, op: RustSyntaxKind, right: Box<Expr>, span: Range<usize> },
[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<Expr>, op: RustSyntaxKind, right: Box<Expr>, span: Range<usize> },
[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<Expr>, op: RustSyntaxKind, right: Box<Expr>, span: Range<usize> },
[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<Expr>, op: RustSyntaxKind, right: Box<Expr>, span: Range<usize> },
[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<Expr>, args: Vec<Expr>, span: Range<usize> },
[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<Expr>, args: Vec<Expr>, span: Range<usize> },
[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<Expr>, args: Vec<Expr>, span: Range<usize> },
[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<Expr>, args: Vec<Expr>, span: Range<usize> },
[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<Expr>, field: Identifier, span: Range<usize> },
[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<Expr>, field: Identifier, span: Range<usize> },
[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<Expr>, field: Identifier, span: Range<usize> },
[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<Expr>, field: Identifier, span: Range<usize> },
[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<Expr>, index: Box<Expr>, span: Range<usize> },
[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<Expr>, index: Box<Expr>, span: Range<usize> },
[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<Expr>, index: Box<Expr>, span: Range<usize> },
[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<Expr>, index: Box<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, OakError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 26.14s
[INFO] running `Command { std: "docker" "inspect" "39ff7461a458bcb007a4f28bcb70e2866b8a1bb55b756d4f347d0edec99e824a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "39ff7461a458bcb007a4f28bcb70e2866b8a1bb55b756d4f347d0edec99e824a", kill_on_drop: false }`
[INFO] [stdout] 39ff7461a458bcb007a4f28bcb70e2866b8a1bb55b756d4f347d0edec99e824a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9f38c3939f9081e14bc6f7ca5f5d4b0838c0890aa0cbc8250246b7000dd1dbad
[INFO] running `Command { std: "docker" "start" "-a" "9f38c3939f9081e14bc6f7ca5f5d4b0838c0890aa0cbc8250246b7000dd1dbad", 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<S: Source>(&self, state: &mut State<S>, builder: &mut GreenBuilder<RustLanguage>) -> Result<Gree...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn parse_param_list_with_builder<S: Source>(&self, state: &mut State<S>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<usize>,
[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<Item>,
[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<Param>,
[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<usize>,
[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<usize>,
[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<Statement>,
[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<usize>,
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, op: RustSyntaxKind, right: Box<Expr>, span: Range<usize> },
[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<Expr>, op: RustSyntaxKind, right: Box<Expr>, span: Range<usize> },
[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<Expr>, op: RustSyntaxKind, right: Box<Expr>, span: Range<usize> },
[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<Expr>, op: RustSyntaxKind, right: Box<Expr>, span: Range<usize> },
[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<Expr>, op: RustSyntaxKind, right: Box<Expr>, span: Range<usize> },
[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<Expr>, args: Vec<Expr>, span: Range<usize> },
[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<Expr>, args: Vec<Expr>, span: Range<usize> },
[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<Expr>, args: Vec<Expr>, span: Range<usize> },
[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<Expr>, args: Vec<Expr>, span: Range<usize> },
[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<Expr>, field: Identifier, span: Range<usize> },
[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<Expr>, field: Identifier, span: Range<usize> },
[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<Expr>, field: Identifier, span: Range<usize> },
[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<Expr>, field: Identifier, span: Range<usize> },
[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<Expr>, index: Box<Expr>, span: Range<usize> },
[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<Expr>, index: Box<Expr>, span: Range<usize> },
[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<Expr>, index: Box<Expr>, span: Range<usize> },
[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<Expr>, index: Box<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<S: Source>(&self, state: &mut State<S>, builder: &mut GreenBuilder<RustLanguage>) -> Result<Gree...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn parse_param_list_with_builder<S: Source>(&self, state: &mut State<S>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<usize>,
[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<Item>,
[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<Param>,
[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<usize>,
[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<usize>,
[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<Statement>,
[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<usize>,
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, op: RustSyntaxKind, right: Box<Expr>, span: Range<usize> },
[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<Expr>, op: RustSyntaxKind, right: Box<Expr>, span: Range<usize> },
[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<Expr>, op: RustSyntaxKind, right: Box<Expr>, span: Range<usize> },
[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<Expr>, op: RustSyntaxKind, right: Box<Expr>, span: Range<usize> },
[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<Expr>, op: RustSyntaxKind, right: Box<Expr>, span: Range<usize> },
[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<Expr>, args: Vec<Expr>, span: Range<usize> },
[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<Expr>, args: Vec<Expr>, span: Range<usize> },
[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<Expr>, args: Vec<Expr>, span: Range<usize> },
[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<Expr>, args: Vec<Expr>, span: Range<usize> },
[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<Expr>, field: Identifier, span: Range<usize> },
[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<Expr>, field: Identifier, span: Range<usize> },
[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<Expr>, field: Identifier, span: Range<usize> },
[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<Expr>, field: Identifier, span: Range<usize> },
[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<Expr>, index: Box<Expr>, span: Range<usize> },
[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<Expr>, index: Box<Expr>, span: Range<usize> },
[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<Expr>, index: Box<Expr>, span: Range<usize> },
[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<Expr>, index: Box<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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 2.65s
[INFO] running `Command { std: "docker" "inspect" "9f38c3939f9081e14bc6f7ca5f5d4b0838c0890aa0cbc8250246b7000dd1dbad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9f38c3939f9081e14bc6f7ca5f5d4b0838c0890aa0cbc8250246b7000dd1dbad", kill_on_drop: false }`
[INFO] [stdout] 9f38c3939f9081e14bc6f7ca5f5d4b0838c0890aa0cbc8250246b7000dd1dbad
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 31865721634ec2745c31326a4e6c87900cf73411eb460d3b3be12f560b16c33f
[INFO] running `Command { std: "docker" "start" "-a" "31865721634ec2745c31326a4e6c87900cf73411eb460d3b3be12f560b16c33f", 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<S: Source>(&self, state: &mut State<S>, builder: &mut GreenBuilder<RustLanguage>) -> Result<Gree...
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 167 |     fn parse_param_list_with_builder<S: Source>(&self, state: &mut State<S>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<usize>,
[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<Item>,
[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<Param>,
[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<usize>,
[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<usize>,
[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] [stdout] 
[INFO] [stderr]    |
[INFO] [stdout] running 0 tests
[INFO] [stderr] 41 |     pub statements: Vec<Statement>,
[INFO] [stdout] 
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr] 
[INFO] [stdout] 
[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<usize>,
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[INFO] [stderr]    |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stderr] 
[INFO] [stdout] running 6 tests
[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<usize> },
[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] [stdout] test builder::test_rust_builder ... ok
[INFO] [stderr] 
[INFO] [stdout] test lexer::test_nested_constant_parsing ... ok
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stdout] test lexer::test_peek_behavior ... ok
[INFO] [stderr]   --> src/ast/mod.rs:54:5
[INFO] [stdout] test ready ... ok
[INFO] [stderr]    |
[INFO] [stderr] 54 |     Literal { value: String, span: Range<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, op: RustSyntaxKind, right: Box<Expr>, span: Range<usize> },
[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<Expr>, op: RustSyntaxKind, right: Box<Expr>, span: Range<usize> },
[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<Expr>, op: RustSyntaxKind, right: Box<Expr>, span: Range<usize> },
[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<Expr>, op: RustSyntaxKind, right: Box<Expr>, span: Range<usize> },
[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<Expr>, op: RustSyntaxKind, right: Box<Expr>, span: Range<usize> },
[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<Expr>, args: Vec<Expr>, span: Range<usize> },
[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<Expr>, args: Vec<Expr>, span: Range<usize> },
[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<Expr>, args: Vec<Expr>, span: Range<usize> },
[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<Expr>, args: Vec<Expr>, span: Range<usize> },
[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<Expr>, field: Identifier, span: Range<usize> },
[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<Expr>, field: Identifier, span: Range<usize> },
[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<Expr>, field: Identifier, span: Range<usize> },
[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<Expr>, field: Identifier, span: Range<usize> },
[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<Expr>, index: Box<Expr>, span: Range<usize> },
[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<Expr>, index: Box<Expr>, span: Range<usize> },
[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<Expr>, index: Box<Expr>, span: Range<usize> },
[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<Expr>, index: Box<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<Expr>, span: Range<usize> },
[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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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<impl Source, RustLanguage>) -> Result<Arc<GreenNode<RustSyntaxKind>>, 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.09s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oak_rust-e18c4fa2135ceb6e)
[INFO] [stderr]      Running tests/main.rs (/opt/rustwide/target/debug/deps/main-36c2b7b70f130abf)
[INFO] [stdout] test lexer::test_rust_lexer ... FAILED
[INFO] [stdout] test parser::test_rust_parser ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[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] [stderr] error: test failed, to rerun pass `--test main`
[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' (28) 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:     0x653325d2f4b2 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x653325d2f4b2 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x653325d2f4b2 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x653325d2f4b2 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x653325d443ba - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x653325d443ba - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x653325d34596 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x653325d34596 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x653325d0c7ff - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x653325d0c7ff - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x653325d26e99 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x653325c90fee - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x653325c90fee - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x653325d27102 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x653325d27102 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x653325d0c8b8 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x653325d040f9 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x653325d0d70d - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x653325d44acc - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x653325c60a90 - main[9ca48b0d01e24210]::lexer::test_rust_lexer
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/lexer/mod.rs:16:19
[INFO] [stdout]   20:     0x653325c5f6e7 - main[9ca48b0d01e24210]::lexer::test_rust_lexer::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/lexer/mod.rs:8:21
[INFO] [stdout]   21:     0x653325c72f16 - <main[9ca48b0d01e24210]::lexer::test_rust_lexer::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x653325c8539b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x653325c8539b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x653325c91bfa - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x653325c91bfa - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x653325c91bfa - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x653325c91bfa - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x653325c91bfa - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x653325c91bfa - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x653325c91bfa - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x653325c8c0c4 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x653325c8c0c4 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x653325c946f2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x653325c946f2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x653325c946f2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x653325c946f2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x653325c946f2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x653325c946f2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x653325c946f2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x653325d2e9af - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   41:     0x653325d2e9af - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   42:     0x7f981aa3faa4 - <unknown>
[INFO] [stdout]   43:     0x7f981aacca64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[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' (29) 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:     0x653325d2f4b2 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x653325d2f4b2 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x653325d2f4b2 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x653325d2f4b2 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x653325d443ba - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x653325d443ba - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x653325d34596 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x653325d34596 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x653325d0c7ff - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x653325d0c7ff - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x653325d26e99 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x653325c90fee - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x653325c90fee - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x653325d27102 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x653325d27102 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x653325d0c8b8 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x653325d040f9 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x653325d0d70d - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x653325d44acc - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x653325c61c48 - main[9ca48b0d01e24210]::parser::test_rust_parser
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/parser/mod.rs:13:19
[INFO] [stdout]   20:     0x653325c5f777 - main[9ca48b0d01e24210]::parser::test_rust_parser::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/parser/mod.rs:6:22
[INFO] [stdout]   21:     0x653325c72fd6 - <main[9ca48b0d01e24210]::parser::test_rust_parser::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x653325c8539b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x653325c8539b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x653325c91bfa - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x653325c91bfa - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x653325c91bfa - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x653325c91bfa - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x653325c91bfa - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x653325c91bfa - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x653325c91bfa - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x653325c8c0c4 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x653325c8c0c4 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x653325c946f2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x653325c946f2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x653325c946f2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x653325c946f2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x653325c946f2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x653325c946f2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x653325c946f2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x653325d2e9af - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   41:     0x653325d2e9af - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   42:     0x7f981aa3faa4 - <unknown>
[INFO] [stdout]   43:     0x7f981aacca64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[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.07s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "31865721634ec2745c31326a4e6c87900cf73411eb460d3b3be12f560b16c33f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31865721634ec2745c31326a4e6c87900cf73411eb460d3b3be12f560b16c33f", kill_on_drop: false }`
[INFO] [stdout] 31865721634ec2745c31326a4e6c87900cf73411eb460d3b3be12f560b16c33f
