[INFO] fetching crate oak-scala 0.0.11... [INFO] testing oak-scala-0.0.11 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-2 [INFO] extracting crate oak-scala 0.0.11 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate oak-scala 0.0.11 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate oak-scala 0.0.11 [INFO] tweaked toml for crates.io crate oak-scala 0.0.11 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate oak-scala 0.0.11 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate oak-scala 0.0.11 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded oak-semantic-search v0.0.11 [INFO] [stderr] Downloaded inotify v0.11.0 [INFO] [stderr] Downloaded oak-testing v0.0.11 [INFO] [stderr] Downloaded oak-vfs v0.0.11 [INFO] [stderr] Downloaded oak-highlight v0.0.11 [INFO] [stderr] Downloaded oak-lsp v0.0.11 [INFO] [stderr] Downloaded oak-navigation v0.0.11 [INFO] [stderr] Downloaded oak-mcp v0.0.11 [INFO] [stderr] Downloaded oak-pretty-print v0.0.11 [INFO] [stderr] Downloaded oak-core v0.0.11 [INFO] [stderr] Downloaded oak-hover v0.0.11 [INFO] [stderr] Downloaded oak-folding v0.0.11 [INFO] [stderr] Downloaded oak-resolver v0.0.11 [INFO] [stderr] Downloaded oak-symbols v0.0.11 [INFO] [stderr] Downloaded oak-macros v0.0.11 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1a7701c36a0bd1cbb5b1351636f6bc7b37339751746bc01f169f1690645cf706 [INFO] running `Command { std: "docker" "start" "-a" "1a7701c36a0bd1cbb5b1351636f6bc7b37339751746bc01f169f1690645cf706", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1a7701c36a0bd1cbb5b1351636f6bc7b37339751746bc01f169f1690645cf706", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1a7701c36a0bd1cbb5b1351636f6bc7b37339751746bc01f169f1690645cf706", kill_on_drop: false }` [INFO] [stdout] 1a7701c36a0bd1cbb5b1351636f6bc7b37339751746bc01f169f1690645cf706 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6c552e04a2b4789976c595666b8c94e448cd5263f14e9fde4e11f080dbb90001 [INFO] running `Command { std: "docker" "start" "-a" "6c552e04a2b4789976c595666b8c94e448cd5263f14e9fde4e11f080dbb90001", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.40 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling twox-hash v2.1.2 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling triomphe v0.1.15 [INFO] [stderr] Compiling oak-core v0.0.11 [INFO] [stderr] Compiling oak-scala v0.0.11 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `RedNode` [INFO] [stdout] --> src/builder/mod.rs:3:70 [INFO] [stdout] | [INFO] [stdout] 3 | use oak_core::{Builder, BuilderCache, Lexer, OakDiagnostics, Parser, RedNode, TextEdit, source::Source}; [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: `lexer::token_type::ScalaTokenType` [INFO] [stdout] --> src/builder/mod.rs:34:21 [INFO] [stdout] | [INFO] [stdout] 34 | use crate::{lexer::token_type::ScalaTokenType, parser::element_type::ScalaElementType}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `token_type::ScalaTokenType` [INFO] [stdout] --> src/parser/mod.rs:7:25 [INFO] [stdout] | [INFO] [stdout] 7 | lexer::{ScalaLexer, token_type::ScalaTokenType}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GreenNode` and `OakError` [INFO] [stdout] --> src/parser/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | GreenNode, OakError, TextEdit, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cache` [INFO] [stdout] --> src/builder/mod.rs:108:80 [INFO] [stdout] | [INFO] [stdout] 108 | ...&'a S, edits: &[TextEdit], cache: &'a mut impl BuilderCache) -> OakDiagnostics { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_cache` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/lexer/mod.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct ScalaLexer<'config> { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 23 | config: &'config ScalaLanguage, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ScalaLexer` has derived impls for the traits `Debug` and `Clone`, but these are 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: type alias `State` is never used [INFO] [stdout] --> src/parser/mod.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) type State<'a, S> = ParserState<'a, ScalaLanguage, S>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.82s [INFO] running `Command { std: "docker" "inspect" "6c552e04a2b4789976c595666b8c94e448cd5263f14e9fde4e11f080dbb90001", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6c552e04a2b4789976c595666b8c94e448cd5263f14e9fde4e11f080dbb90001", kill_on_drop: false }` [INFO] [stdout] 6c552e04a2b4789976c595666b8c94e448cd5263f14e9fde4e11f080dbb90001 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 756be82c7ac02ca403d6ad80f148a4f1b32c6e6fe091676af8d4616eed16c519 [INFO] running `Command { std: "docker" "start" "-a" "756be82c7ac02ca403d6ad80f148a4f1b32c6e6fe091676af8d4616eed16c519", kill_on_drop: false }` [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stdout] warning: unused import: `RedNode` [INFO] [stdout] --> src/builder/mod.rs:3:70 [INFO] [stdout] | [INFO] [stdout] 3 | use oak_core::{Builder, BuilderCache, Lexer, OakDiagnostics, Parser, RedNode, TextEdit, source::Source}; [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: `lexer::token_type::ScalaTokenType` [INFO] [stdout] --> src/builder/mod.rs:34:21 [INFO] [stdout] | [INFO] [stdout] 34 | use crate::{lexer::token_type::ScalaTokenType, parser::element_type::ScalaElementType}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `token_type::ScalaTokenType` [INFO] [stdout] --> src/parser/mod.rs:7:25 [INFO] [stdout] | [INFO] [stdout] 7 | lexer::{ScalaLexer, token_type::ScalaTokenType}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GreenNode` and `OakError` [INFO] [stdout] --> src/parser/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | GreenNode, OakError, TextEdit, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cache` [INFO] [stdout] --> src/builder/mod.rs:108:80 [INFO] [stdout] | [INFO] [stdout] 108 | ...&'a S, edits: &[TextEdit], cache: &'a mut impl BuilderCache) -> OakDiagnostics { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_cache` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/lexer/mod.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct ScalaLexer<'config> { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 23 | config: &'config ScalaLanguage, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ScalaLexer` has derived impls for the traits `Debug` and `Clone`, but these are 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: type alias `State` is never used [INFO] [stdout] --> src/parser/mod.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) type State<'a, S> = ParserState<'a, ScalaLanguage, S>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling oak-testing v0.0.11 [INFO] [stderr] Compiling oak-scala v0.0.11 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `RedNode` [INFO] [stdout] --> src/builder/mod.rs:3:70 [INFO] [stdout] | [INFO] [stdout] 3 | use oak_core::{Builder, BuilderCache, Lexer, OakDiagnostics, Parser, RedNode, TextEdit, source::Source}; [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: `lexer::token_type::ScalaTokenType` [INFO] [stdout] --> src/builder/mod.rs:34:21 [INFO] [stdout] | [INFO] [stdout] 34 | use crate::{lexer::token_type::ScalaTokenType, parser::element_type::ScalaElementType}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `token_type::ScalaTokenType` [INFO] [stdout] --> src/parser/mod.rs:7:25 [INFO] [stdout] | [INFO] [stdout] 7 | lexer::{ScalaLexer, token_type::ScalaTokenType}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GreenNode` and `OakError` [INFO] [stdout] --> src/parser/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | GreenNode, OakError, TextEdit, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cache` [INFO] [stdout] --> src/builder/mod.rs:108:80 [INFO] [stdout] | [INFO] [stdout] 108 | ...&'a S, edits: &[TextEdit], cache: &'a mut impl BuilderCache) -> OakDiagnostics { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_cache` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/lexer/mod.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct ScalaLexer<'config> { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 23 | config: &'config ScalaLanguage, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ScalaLexer` has derived impls for the traits `Debug` and `Clone`, but these are 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: type alias `State` is never used [INFO] [stdout] --> src/parser/mod.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) type State<'a, S> = ParserState<'a, ScalaLanguage, S>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.78s [INFO] running `Command { std: "docker" "inspect" "756be82c7ac02ca403d6ad80f148a4f1b32c6e6fe091676af8d4616eed16c519", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "756be82c7ac02ca403d6ad80f148a4f1b32c6e6fe091676af8d4616eed16c519", kill_on_drop: false }` [INFO] [stdout] 756be82c7ac02ca403d6ad80f148a4f1b32c6e6fe091676af8d4616eed16c519 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 833b299609f13afbadb8b1edb5915b06b61da4148e5bcff576f4daeaf433f50d [INFO] running `Command { std: "docker" "start" "-a" "833b299609f13afbadb8b1edb5915b06b61da4148e5bcff576f4daeaf433f50d", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `RedNode` [INFO] [stderr] --> src/builder/mod.rs:3:70 [INFO] [stderr] | [INFO] [stderr] 3 | use oak_core::{Builder, BuilderCache, Lexer, OakDiagnostics, Parser, RedNode, TextEdit, source::Source}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `lexer::token_type::ScalaTokenType` [INFO] [stderr] --> src/builder/mod.rs:34:21 [INFO] [stderr] | [INFO] [stderr] 34 | use crate::{lexer::token_type::ScalaTokenType, parser::element_type::ScalaElementType}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `token_type::ScalaTokenType` [INFO] [stderr] --> src/parser/mod.rs:7:25 [INFO] [stderr] | [INFO] [stderr] 7 | lexer::{ScalaLexer, token_type::ScalaTokenType}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `GreenNode` and `OakError` [INFO] [stderr] --> src/parser/mod.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | GreenNode, OakError, TextEdit, [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cache` [INFO] [stderr] --> src/builder/mod.rs:108:80 [INFO] [stderr] | [INFO] [stderr] 108 | ...&'a S, edits: &[TextEdit], cache: &'a mut impl BuilderCache) -> OakDiagnostics { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_cache` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `config` is never read [INFO] [stderr] --> src/lexer/mod.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 22 | pub struct ScalaLexer<'config> { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] 23 | config: &'config ScalaLanguage, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ScalaLexer` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: type alias `State` is never used [INFO] [stderr] --> src/parser/mod.rs:16:17 [INFO] [stderr] | [INFO] [stderr] 16 | pub(crate) type State<'a, S> = ParserState<'a, ScalaLanguage, S>; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `oak-scala` (lib) generated 7 warnings (run `cargo fix --lib -p oak-scala` to apply 5 suggestions) [INFO] [stderr] warning: `oak-scala` (lib test) generated 7 warnings (7 duplicates) [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_scala-5d571682a84057ba) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/main.rs (/opt/rustwide/target/debug/deps/main-7d40045069d9a331) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test lexer::test_scala_lexer ... FAILED [INFO] [stdout] test ready ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- lexer::test_scala_lexer stdout ---- [INFO] [stdout] Testing file: /opt/rustwide/workdir/tests/lexer/basic.scala [INFO] [stdout] Error: TestFailure { path: "/opt/rustwide/workdir/tests/lexer/basic.scala", expected: "LexerTestExpected {\n success: true,\n count: 100,\n tokens: [\n TokenData {\n kind: \"Package\",\n text: \"package\",\n start: 40,\n end: 47,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"com\",\n start: 48,\n end: 51,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 51,\n end: 52,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"example\",\n start: 52,\n end: 59,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 59,\n end: 60,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"test\",\n start: 60,\n end: 64,\n },\n TokenData {\n kind: \"Import\",\n text: \"import\",\n start: 68,\n end: 74,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"scala\",\n start: 75,\n end: 80,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 80,\n end: 81,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"collection\",\n start: 81,\n end: 91,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 91,\n end: 92,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"mutable\",\n start: 92,\n end: 99,\n },\n TokenData {\n kind: \"Import\",\n text: \"import\",\n start: 101,\n end: 107,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"scala\",\n start: 108,\n end: 113,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 113,\n end: 114,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"concurrent\",\n start: 114,\n end: 124,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 124,\n end: 125,\n },\n TokenData {\n kind: \"LeftBrace\",\n text: \"{\",\n start: 125,\n end: 126,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Future\",\n start: 126,\n end: 132,\n },\n TokenData {\n kind: \"Comma\",\n text: \",\",\n start: 132,\n end: 133,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"ExecutionContext\",\n start: 134,\n end: 150,\n },\n TokenData {\n kind: \"RightBrace\",\n text: \"}\",\n start: 150,\n end: 151,\n },\n TokenData {\n kind: \"Import\",\n text: \"import\",\n start: 153,\n end: 159,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"scala\",\n start: 160,\n end: 165,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 165,\n end: 166,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"util\",\n start: 166,\n end: 170,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 170,\n end: 171,\n },\n TokenData {\n kind: \"LeftBrace\",\n text: \"{\",\n start: 171,\n end: 172,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Try\",\n start: 172,\n end: 175,\n },\n TokenData {\n kind: \"Comma\",\n text: \",\",\n start: 175,\n end: 176,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Success\",\n start: 177,\n end: 184,\n },\n TokenData {\n kind: \"Comma\",\n text: \",\",\n start: 184,\n end: 185,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Failure\",\n start: 186,\n end: 193,\n },\n TokenData {\n kind: \"Comma\",\n text: \",\",\n start: 193,\n end: 194,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Random\",\n start: 195,\n end: 201,\n },\n TokenData {\n kind: \"RightBrace\",\n text: \"}\",\n start: 201,\n end: 202,\n },\n TokenData {\n kind: \"Import\",\n text: \"import\",\n start: 204,\n end: 210,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"java\",\n start: 211,\n end: 215,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 215,\n end: 216,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"time\",\n start: 216,\n end: 220,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 220,\n end: 221,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"LocalDateTime\",\n start: 221,\n end: 234,\n },\n TokenData {\n kind: \"Import\",\n text: \"import\",\n start: 236,\n end: 242,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"java\",\n start: 243,\n end: 247,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 247,\n end: 248,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"util\",\n start: 248,\n end: 252,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 252,\n end: 253,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"UUID\",\n start: 253,\n end: 257,\n },\n TokenData {\n kind: \"Implicit\",\n text: \"implicit\",\n start: 304,\n end: 312,\n },\n TokenData {\n kind: \"Val\",\n text: \"val\",\n start: 313,\n end: 316,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"ec\",\n start: 317,\n end: 319,\n },\n TokenData {\n kind: \"Colon\",\n text: \":\",\n start: 319,\n end: 320,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"ExecutionContext\",\n start: 321,\n end: 337,\n },\n TokenData {\n kind: \"Eq\",\n text: \"=\",\n start: 338,\n end: 339,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"ExecutionContext\",\n start: 340,\n end: 356,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 356,\n end: 357,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"global\",\n start: 357,\n end: 363,\n },\n TokenData {\n kind: \"Object\",\n text: \"object\",\n start: 395,\n end: 401,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"ScalaTestApp\",\n start: 402,\n end: 414,\n },\n TokenData {\n kind: \"Extends\",\n text: \"extends\",\n start: 415,\n end: 422,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"App\",\n start: 423,\n end: 426,\n },\n TokenData {\n kind: \"LeftBrace\",\n text: \"{\",\n start: 427,\n end: 428,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"println\",\n start: 432,\n end: 439,\n },\n TokenData {\n kind: \"LeftParen\",\n text: \"(\",\n start: 439,\n end: 440,\n },\n TokenData {\n kind: \"StringLiteral\",\n text: \"\\\"=== Scala Test Application ===\\\"\",\n start: 440,\n end: 472,\n },\n TokenData {\n kind: \"RightParen\",\n text: \")\",\n start: 472,\n end: 473,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"testBasicTypes\",\n start: 513,\n end: 527,\n },\n TokenData {\n kind: \"LeftParen\",\n text: \"(\",\n start: 527,\n end: 528,\n },\n TokenData {\n kind: \"RightParen\",\n text: \")\",\n start: 528,\n end: 529,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"testCollections\",\n start: 533,\n end: 548,\n },\n TokenData {\n kind: \"LeftParen\",\n text: \"(\",\n start: 548,\n end: 549,\n },\n TokenData {\n kind: \"RightParen\",\n text: \")\",\n start: 549,\n end: 550,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"testFunctions\",\n start: 554,\n end: 567,\n },\n TokenData {\n kind: \"LeftParen\",\n text: \"(\",\n start: 567,\n end: 568,\n },\n TokenData {\n kind: \"RightParen\",\n text: \")\",\n start: 568,\n end: 569,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"testClasses\",\n start: 573,\n end: 584,\n },\n TokenData {\n kind: \"LeftParen\",\n text: \"(\",\n start: 584,\n end: 585,\n },\n TokenData {\n kind: \"RightParen\",\n text: \")\",\n start: 585,\n end: 586,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"testTraits\",\n start: 590,\n end: 600,\n },\n TokenData {\n kind: \"LeftParen\",\n text: \"(\",\n start: 600,\n end: 601,\n },\n TokenData {\n kind: \"RightParen\",\n text: \")\",\n start: 601,\n end: 602,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"testCaseClasses\",\n start: 606,\n end: 621,\n },\n TokenData {\n kind: \"LeftParen\",\n text: \"(\",\n start: 621,\n end: 622,\n },\n TokenData {\n kind: \"RightParen\",\n text: \")\",\n start: 622,\n end: 623,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"testPatternMatching\",\n start: 627,\n end: 646,\n },\n TokenData {\n kind: \"LeftParen\",\n text: \"(\",\n start: 646,\n end: 647,\n },\n TokenData {\n kind: \"RightParen\",\n text: \")\",\n start: 647,\n end: 648,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"testForComprehensions\",\n start: 652,\n end: 673,\n },\n TokenData {\n kind: \"LeftParen\",\n text: \"(\",\n start: 673,\n end: 674,\n },\n TokenData {\n kind: \"RightParen\",\n text: \")\",\n start: 674,\n end: 675,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"testFutures\",\n start: 679,\n end: 690,\n },\n TokenData {\n kind: \"LeftParen\",\n text: \"(\",\n start: 690,\n end: 691,\n },\n TokenData {\n kind: \"RightParen\",\n text: \")\",\n start: 691,\n end: 692,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"testImplicits\",\n start: 696,\n end: 709,\n },\n TokenData {\n kind: \"LeftParen\",\n text: \"(\",\n start: 709,\n end: 710,\n },\n TokenData {\n kind: \"RightParen\",\n text: \")\",\n start: 710,\n end: 711,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"testHigherOrderFunctions\",\n start: 715,\n end: 739,\n },\n TokenData {\n kind: \"LeftParen\",\n text: \"(\",\n start: 739,\n end: 740,\n },\n TokenData {\n kind: \"RightParen\",\n text: \")\",\n start: 740,\n end: 741,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"println\",\n start: 749,\n end: 756,\n },\n ],\n errors: [],\n}", actual: "LexerTestExpected {\n success: true,\n count: 176,\n tokens: [\n TokenData {\n kind: \"Package\",\n text: \"package\",\n start: 0,\n end: 7,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"examples\",\n start: 8,\n end: 16,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 16,\n end: 17,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"lexer\",\n start: 17,\n end: 22,\n },\n TokenData {\n kind: \"Import\",\n text: \"import\",\n start: 26,\n end: 32,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"scala\",\n start: 33,\n end: 38,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 38,\n end: 39,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"collection\",\n start: 39,\n end: 49,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 49,\n end: 50,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"mutable\",\n start: 50,\n end: 57,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 57,\n end: 58,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"ListBuffer\",\n start: 58,\n end: 68,\n },\n TokenData {\n kind: \"Import\",\n text: \"import\",\n start: 70,\n end: 76,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"scala\",\n start: 77,\n end: 82,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 82,\n end: 83,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"concurrent\",\n start: 83,\n end: 93,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 93,\n end: 94,\n },\n TokenData {\n kind: \"LeftBrace\",\n text: \"{\",\n start: 94,\n end: 95,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Future\",\n start: 95,\n end: 101,\n },\n TokenData {\n kind: \"Comma\",\n text: \",\",\n start: 101,\n end: 102,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"ExecutionContext\",\n start: 103,\n end: 119,\n },\n TokenData {\n kind: \"RightBrace\",\n text: \"}\",\n start: 119,\n end: 120,\n },\n TokenData {\n kind: \"Import\",\n text: \"import\",\n start: 122,\n end: 128,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"scala\",\n start: 129,\n end: 134,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 134,\n end: 135,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"util\",\n start: 135,\n end: 139,\n },\n TokenData {\n kind: \"Dot\",\n text: \".\",\n start: 139,\n end: 140,\n },\n TokenData {\n kind: \"LeftBrace\",\n text: \"{\",\n start: 140,\n end: 141,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Try\",\n start: 141,\n end: 144,\n },\n TokenData {\n kind: \"Comma\",\n text: \",\",\n start: 144,\n end: 145,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Success\",\n start: 146,\n end: 153,\n },\n TokenData {\n kind: \"Comma\",\n text: \",\",\n start: 153,\n end: 154,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Failure\",\n start: 155,\n end: 162,\n },\n TokenData {\n kind: \"RightBrace\",\n text: \"}\",\n start: 162,\n end: 163,\n },\n TokenData {\n kind: \"BlockComment\",\n text: \"/**\\r\\n * A comprehensive Scala lexer test.\\r\\n * Covering various language features.\\r\\n */\",\n start: 167,\n end: 253,\n },\n TokenData {\n kind: \"Object\",\n text: \"object\",\n start: 255,\n end: 261,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"BasicScala\",\n start: 262,\n end: 272,\n },\n TokenData {\n kind: \"LeftBrace\",\n text: \"{\",\n start: 273,\n end: 274,\n },\n TokenData {\n kind: \"Val\",\n text: \"val\",\n start: 280,\n end: 283,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Pi\",\n start: 284,\n end: 286,\n },\n TokenData {\n kind: \"Eq\",\n text: \"=\",\n start: 287,\n end: 288,\n },\n TokenData {\n kind: \"IntegerLiteral\",\n text: \"3.14159\",\n start: 289,\n end: 296,\n },\n TokenData {\n kind: \"Var\",\n text: \"var\",\n start: 302,\n end: 305,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"count\",\n start: 306,\n end: 311,\n },\n TokenData {\n kind: \"Eq\",\n text: \"=\",\n start: 312,\n end: 313,\n },\n TokenData {\n kind: \"IntegerLiteral\",\n text: \"0\",\n start: 314,\n end: 315,\n },\n TokenData {\n kind: \"LineComment\",\n text: \"// Type alias\\r\",\n start: 327,\n end: 341,\n },\n TokenData {\n kind: \"Type\",\n text: \"type\",\n start: 346,\n end: 350,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"StringList\",\n start: 351,\n end: 361,\n },\n TokenData {\n kind: \"Eq\",\n text: \"=\",\n start: 362,\n end: 363,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"List\",\n start: 364,\n end: 368,\n },\n TokenData {\n kind: \"LeftBracket\",\n text: \"[\",\n start: 368,\n end: 369,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"String\",\n start: 369,\n end: 375,\n },\n TokenData {\n kind: \"RightBracket\",\n text: \"]\",\n start: 375,\n end: 376,\n },\n TokenData {\n kind: \"LineComment\",\n text: \"// Case class\\r\",\n start: 384,\n end: 398,\n },\n TokenData {\n kind: \"Case\",\n text: \"case\",\n start: 403,\n end: 407,\n },\n TokenData {\n kind: \"Class\",\n text: \"class\",\n start: 408,\n end: 413,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Person\",\n start: 414,\n end: 420,\n },\n TokenData {\n kind: \"LeftParen\",\n text: \"(\",\n start: 420,\n end: 421,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"name\",\n start: 421,\n end: 425,\n },\n TokenData {\n kind: \"Colon\",\n text: \":\",\n start: 425,\n end: 426,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"String\",\n start: 427,\n end: 433,\n },\n TokenData {\n kind: \"Comma\",\n text: \",\",\n start: 433,\n end: 434,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"age\",\n start: 435,\n end: 438,\n },\n TokenData {\n kind: \"Colon\",\n text: \":\",\n start: 438,\n end: 439,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Int\",\n start: 440,\n end: 443,\n },\n TokenData {\n kind: \"RightParen\",\n text: \")\",\n start: 443,\n end: 444,\n },\n TokenData {\n kind: \"LineComment\",\n text: \"// Trait\\r\",\n start: 452,\n end: 461,\n },\n TokenData {\n kind: \"Trait\",\n text: \"trait\",\n start: 466,\n end: 471,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Greeter\",\n start: 472,\n end: 479,\n },\n TokenData {\n kind: \"LeftBrace\",\n text: \"{\",\n start: 480,\n end: 481,\n },\n TokenData {\n kind: \"Def\",\n text: \"def\",\n start: 491,\n end: 494,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"greet\",\n start: 495,\n end: 500,\n },\n TokenData {\n kind: \"LeftParen\",\n text: \"(\",\n start: 500,\n end: 501,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"name\",\n start: 501,\n end: 505,\n },\n TokenData {\n kind: \"Colon\",\n text: \":\",\n start: 505,\n end: 506,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"String\",\n start: 507,\n end: 513,\n },\n TokenData {\n kind: \"RightParen\",\n text: \")\",\n start: 513,\n end: 514,\n },\n TokenData {\n kind: \"Colon\",\n text: \":\",\n start: 514,\n end: 515,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Unit\",\n start: 516,\n end: 520,\n },\n TokenData {\n kind: \"Eq\",\n text: \"=\",\n start: 521,\n end: 522,\n },\n TokenData {\n kind: \"LeftBrace\",\n text: \"{\",\n start: 523,\n end: 524,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"println\",\n start: 538,\n end: 545,\n },\n TokenData {\n kind: \"LeftParen\",\n text: \"(\",\n start: 545,\n end: 546,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"s\",\n start: 546,\n end: 547,\n },\n TokenData {\n kind: \"StringLiteral\",\n text: \"\\\"Hello, $name!\\\"\",\n start: 547,\n end: 562,\n },\n TokenData {\n kind: \"RightParen\",\n text: \")\",\n start: 562,\n end: 563,\n },\n TokenData {\n kind: \"RightBrace\",\n text: \"}\",\n start: 573,\n end: 574,\n },\n TokenData {\n kind: \"RightBrace\",\n text: \"}\",\n start: 580,\n end: 581,\n },\n TokenData {\n kind: \"LineComment\",\n text: \"// Class implementing trait\\r\",\n start: 589,\n end: 617,\n },\n TokenData {\n kind: \"Class\",\n text: \"class\",\n start: 622,\n end: 627,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Employee\",\n start: 628,\n end: 636,\n },\n TokenData {\n kind: \"LeftParen\",\n text: \"(\",\n start: 636,\n end: 637,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"name\",\n start: 637,\n end: 641,\n },\n TokenData {\n kind: \"Colon\",\n text: \":\",\n start: 641,\n end: 642,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"String\",\n start: 643,\n end: 649,\n },\n TokenData {\n kind: \"Comma\",\n text: \",\",\n start: 649,\n end: 650,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"age\",\n start: 651,\n end: 654,\n },\n TokenData {\n kind: \"Colon\",\n text: \":\",\n start: 654,\n end: 655,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Int\",\n start: 656,\n end: 659,\n },\n TokenData {\n kind: \"Comma\",\n text: \",\",\n start: 659,\n end: 660,\n },\n TokenData {\n kind: \"Val\",\n text: \"val\",\n start: 661,\n end: 664,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"role\",\n start: 665,\n end: 669,\n },\n TokenData {\n kind: \"Colon\",\n text: \":\",\n start: 669,\n end: 670,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"String\",\n start: 671,\n end: 677,\n },\n TokenData {\n kind: \"RightParen\",\n text: \")\",\n start: 677,\n end: 678,\n },\n TokenData {\n kind: \"Extends\",\n text: \"extends\",\n start: 679,\n end: 686,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Person\",\n start: 687,\n end: 693,\n },\n TokenData {\n kind: \"LeftParen\",\n text: \"(\",\n start: 693,\n end: 694,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"name\",\n start: 694,\n end: 698,\n },\n TokenData {\n kind: \"Comma\",\n text: \",\",\n start: 698,\n end: 699,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"age\",\n start: 700,\n end: 703,\n },\n TokenData {\n kind: \"RightParen\",\n text: \")\",\n start: 703,\n end: 704,\n },\n TokenData {\n kind: \"With\",\n text: \"with\",\n start: 705,\n end: 709,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Greeter\",\n start: 710,\n end: 717,\n },\n TokenData {\n kind: \"LeftBrace\",\n text: \"{\",\n start: 718,\n end: 719,\n },\n TokenData {\n kind: \"Override\",\n text: \"override\",\n start: 729,\n end: 737,\n },\n TokenData {\n kind: \"Def\",\n text: \"def\",\n start: 738,\n end: 741,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"greet\",\n start: 742,\n end: 747,\n },\n TokenData {\n kind: \"LeftParen\",\n text: \"(\",\n start: 747,\n end: 748,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"name\",\n start: 748,\n end: 752,\n },\n TokenData {\n kind: \"Colon\",\n text: \":\",\n start: 752,\n end: 753,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"String\",\n start: 754,\n end: 760,\n },\n TokenData {\n kind: \"RightParen\",\n text: \")\",\n start: 760,\n end: 761,\n },\n TokenData {\n kind: \"Colon\",\n text: \":\",\n start: 761,\n end: 762,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Unit\",\n start: 763,\n end: 767,\n },\n TokenData {\n kind: \"Eq\",\n text: \"=\",\n start: 768,\n end: 769,\n },\n TokenData {\n kind: \"LeftBrace\",\n text: \"{\",\n start: 770,\n end: 771,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"println\",\n start: 785,\n end: 792,\n },\n TokenData {\n kind: \"LeftParen\",\n text: \"(\",\n start: 792,\n end: 793,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"s\",\n start: 793,\n end: 794,\n },\n TokenData {\n kind: \"StringLiteral\",\n text: \"\\\"Greetings, $name. I am a $role.\\\"\",\n start: 794,\n end: 827,\n },\n TokenData {\n kind: \"RightParen\",\n text: \")\",\n start: 827,\n end: 828,\n },\n TokenData {\n kind: \"RightBrace\",\n text: \"}\",\n start: 838,\n end: 839,\n },\n TokenData {\n kind: \"RightBrace\",\n text: \"}\",\n start: 845,\n end: 846,\n },\n TokenData {\n kind: \"Def\",\n text: \"def\",\n start: 854,\n end: 857,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"main\",\n start: 858,\n end: 862,\n },\n TokenData {\n kind: \"LeftParen\",\n text: \"(\",\n start: 862,\n end: 863,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"args\",\n start: 863,\n end: 867,\n },\n TokenData {\n kind: \"Colon\",\n text: \":\",\n start: 867,\n end: 868,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Array\",\n start: 869,\n end: 874,\n },\n TokenData {\n kind: \"LeftBracket\",\n text: \"[\",\n start: 874,\n end: 875,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"String\",\n start: 875,\n end: 881,\n },\n TokenData {\n kind: \"RightBracket\",\n text: \"]\",\n start: 881,\n end: 882,\n },\n TokenData {\n kind: \"RightParen\",\n text: \")\",\n start: 882,\n end: 883,\n },\n TokenData {\n kind: \"Colon\",\n text: \":\",\n start: 883,\n end: 884,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Unit\",\n start: 885,\n end: 889,\n },\n TokenData {\n kind: \"Eq\",\n text: \"=\",\n start: 890,\n end: 891,\n },\n TokenData {\n kind: \"LeftBrace\",\n text: \"{\",\n start: 892,\n end: 893,\n },\n TokenData {\n kind: \"LineComment\",\n text: \"// Variables\\r\",\n start: 903,\n end: 916,\n },\n TokenData {\n kind: \"Val\",\n text: \"val\",\n start: 925,\n end: 928,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"x\",\n start: 929,\n end: 930,\n },\n TokenData {\n kind: \"Colon\",\n text: \":\",\n start: 930,\n end: 931,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"Int\",\n start: 932,\n end: 935,\n },\n TokenData {\n kind: \"Eq\",\n text: \"=\",\n start: 936,\n end: 937,\n },\n TokenData {\n kind: \"IntegerLiteral\",\n text: \"42\",\n start: 938,\n end: 940,\n },\n TokenData {\n kind: \"Val\",\n text: \"val\",\n start: 950,\n end: 953,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"y\",\n start: 954,\n end: 955,\n },\n TokenData {\n kind: \"Eq\",\n text: \"=\",\n start: 956,\n end: 957,\n },\n TokenData {\n kind: \"IntegerLiteral\",\n text: \"100\",\n start: 958,\n end: 961,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"L\",\n start: 961,\n end: 962,\n },\n TokenData {\n kind: \"Val\",\n text: \"val\",\n start: 972,\n end: 975,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"text\",\n start: 976,\n end: 980,\n },\n TokenData {\n kind: \"Eq\",\n text: \"=\",\n start: 981,\n end: 982,\n },\n TokenData {\n kind: \"StringLiteral\",\n text: \"\\\"Hello, Scala!\\\"\",\n start: 983,\n end: 998,\n },\n TokenData {\n kind: \"Val\",\n text: \"val\",\n start: 1008,\n end: 1011,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"multiline\",\n start: 1012,\n end: 1021,\n },\n TokenData {\n kind: \"Eq\",\n text: \"=\",\n start: 1022,\n end: 1023,\n },\n TokenData {\n kind: \"StringLiteral\",\n text: \"\\\"\\\"\",\n start: 1024,\n end: 1026,\n },\n TokenData {\n kind: \"StringLiteral\",\n text: \"\\\"\\r\\n This is a\\r\\n multiline string\\r\\n \\\"\",\n start: 1026,\n end: 1091,\n },\n TokenData {\n kind: \"StringLiteral\",\n text: \"\\\"\\\"\",\n start: 1091,\n end: 1093,\n },\n TokenData {\n kind: \"Val\",\n text: \"val\",\n start: 1103,\n end: 1106,\n },\n TokenData {\n kind: \"Identifier\",\n text: \"symbol\",\n start: 1107,\n end: 1113,\n },\n TokenData {\n kind: \"Eq\",\n text: \"=\",\n start: 1114,\n end: 1115,\n },\n TokenData {\n kind: \"CharLiteral\",\n text: \"'symbol\\r\\n \\r\\n // Collections\\r\\n val list = List(1, 2, 3)\\r\\n val map = Map(\\\"a\\\" -> 1, \\\"b\\\" -> 2)\\r\\n val set = Set(1, 2, 3)\\r\\n\\r\\n // Control Structures\\r\\n if (x > 10) {\\r\\n println(\\\"Greater than 10\\\")\\r\\n } else {\\r\\n println(\\\"Less or equal\\\")\\r\\n }\\r\\n\\r\\n for (i <- 1 to 5) {\\r\\n println(i)\\r\\n }\\r\\n\\r\\n while (count < 5) {\\r\\n count += 1\\r\\n }\\r\\n\\r\\n // Pattern Matching\\r\\n val result = x match {\\r\\n case 1 => \\\"one\\\"\\r\\n case 2 => \\\"two\\\"\\r\\n case _ => \\\"other\\\"\\r\\n }\\r\\n\\r\\n // Higher-order functions\\r\\n val doubled = list.map(_ * 2)\\r\\n val filtered = list.filter(_ > 1)\\r\\n\\r\\n // Try/Success/Failure\\r\\n val tried = Try {\\r\\n Integer.parseInt(\\\"123\\\")\\r\\n } match {\\r\\n case Success(v) => v\\r\\n case Failure(e) => -1\\r\\n }\\r\\n\\r\\n // XML Literal (Scala 2 feature, but common)\\r\\n val xml = Content\\r\\n\\r\\n // Implicit\\r\\n implicit val context: String = \\\"Context\\\"\\r\\n printContext\\r\\n }\\r\\n\\r\\n def printContext(implicit ctx: String): Unit = {\\r\\n println(ctx)\\r\\n }\\r\\n\\r\\n // Generic function\\r\\n def first[T](list: List[T]): Option[T] = {\\r\\n list.headOption\\r\\n }\\r\\n}\\r\\n\",\n start: 1116,\n end: 2453,\n },\n TokenData {\n kind: \"Eof\",\n text: \"\",\n start: 2453,\n end: 2453,\n },\n ],\n errors: [],\n}" } [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--test main` [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] lexer::test_scala_lexer [INFO] [stdout] [INFO] [stdout] test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "833b299609f13afbadb8b1edb5915b06b61da4148e5bcff576f4daeaf433f50d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "833b299609f13afbadb8b1edb5915b06b61da4148e5bcff576f4daeaf433f50d", kill_on_drop: false }` [INFO] [stdout] 833b299609f13afbadb8b1edb5915b06b61da4148e5bcff576f4daeaf433f50d