[INFO] cloning repository https://github.com/icxd/gemstone [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/icxd/gemstone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ficxd%2Fgemstone", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ficxd%2Fgemstone'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e75cbcbe926a5f81bb63b0c0f3a03b4d4fab50cf [INFO] testing icxd/gemstone against nightly-2025-01-18 for randomize-layout-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ficxd%2Fgemstone" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/icxd/gemstone on toolchain nightly-2025-01-18 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/icxd/gemstone [INFO] finished tweaking git repo https://github.com/icxd/gemstone [INFO] tweaked toml for git repo https://github.com/icxd/gemstone written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/icxd/gemstone 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" "+nightly-2025-01-18" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded colored v2.0.0 [INFO] [stderr] Downloaded libc v0.2.139 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8243f979544d0a119c8b44352cf8b1afa1138fc43711712c00848da5418b4dbb [INFO] running `Command { std: "docker" "start" "-a" "8243f979544d0a119c8b44352cf8b1afa1138fc43711712c00848da5418b4dbb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8243f979544d0a119c8b44352cf8b1afa1138fc43711712c00848da5418b4dbb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8243f979544d0a119c8b44352cf8b1afa1138fc43711712c00848da5418b4dbb", kill_on_drop: false }` [INFO] [stdout] 8243f979544d0a119c8b44352cf8b1afa1138fc43711712c00848da5418b4dbb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9f4e5303b145bd0d46bf741ddc9b0b068b6d4e9911dfbfb8ae60ea06bdc6b064 [INFO] running `Command { std: "docker" "start" "-a" "9f4e5303b145bd0d46bf741ddc9b0b068b6d4e9911dfbfb8ae60ea06bdc6b064", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.139 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling colored v2.0.0 [INFO] [stderr] Compiling gemstone-2 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:465:13 [INFO] [stdout] | [INFO] [stdout] 465 | let mut class_name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:472:13 [INFO] [stdout] | [INFO] [stdout] 472 | let mut args: Vec = vec![]; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:500:17 [INFO] [stdout] | [INFO] [stdout] 500 | let mut right: Expr = self.parse_multiplicative(tokens, index); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:510:17 [INFO] [stdout] | [INFO] [stdout] 510 | let mut right: Expr = self.parse_member(tokens, index); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:519:17 [INFO] [stdout] | [INFO] [stdout] 519 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:532:17 [INFO] [stdout] | [INFO] [stdout] 532 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:569:21 [INFO] [stdout] | [INFO] [stdout] 569 | let mut expr: Expr = self.parse_token(tokens, index); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:586:13 [INFO] [stdout] | [INFO] [stdout] 586 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent` [INFO] [stdout] --> src/main.rs:669:38 [INFO] [stdout] | [INFO] [stdout] 669 | Expr::MemberFunctionCall(parent, function_call) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `function_call` [INFO] [stdout] --> src/main.rs:669:46 [INFO] [stdout] | [INFO] [stdout] 669 | Expr::MemberFunctionCall(parent, function_call) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_call` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `is_external` is never read [INFO] [stdout] --> src/main.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 53 | struct ClassFunction { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 60 | pub is_external: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClassFunction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `initializer` and `is_named` are never read [INFO] [stdout] --> src/main.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 65 | struct ClassVariable { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 68 | pub initializer: Box, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 69 | pub access: AccessModifier, [INFO] [stdout] 70 | pub is_named: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClassVariable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ClassFunction` is never constructed [INFO] [stdout] --> src/main.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 107 | enum Expr { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] 108 | Class(Class), [INFO] [stdout] 109 | ClassFunction(ClassFunction), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/main.rs:309:8 [INFO] [stdout] | [INFO] [stdout] 134 | impl Gemstone { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 309 | fn parse_class_function_def(&mut self, tokens: &Vec, index: &mut usize) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 608 | pub fn type_checker(&mut self, exprs: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 613 | fn type_check_expr(&mut self, expr: &Expr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 621 | fn type_check_function(&mut self, function: &Function) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 625 | fn type_check_variable_declaration(&mut self, variable_declaration: &VariableDeclaration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 631 | fn type_checker_rename_me(&mut self, first: &Type, second: &Type) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 661 | fn type_checker_get_type(&mut self, expr: &Expr) -> Type { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.47s [INFO] running `Command { std: "docker" "inspect" "9f4e5303b145bd0d46bf741ddc9b0b068b6d4e9911dfbfb8ae60ea06bdc6b064", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9f4e5303b145bd0d46bf741ddc9b0b068b6d4e9911dfbfb8ae60ea06bdc6b064", kill_on_drop: false }` [INFO] [stdout] 9f4e5303b145bd0d46bf741ddc9b0b068b6d4e9911dfbfb8ae60ea06bdc6b064 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a1fd2bb9bb59ed40c36d1f73ae191741c6e6415342c2ec9a301c3e1a75637414 [INFO] running `Command { std: "docker" "start" "-a" "a1fd2bb9bb59ed40c36d1f73ae191741c6e6415342c2ec9a301c3e1a75637414", kill_on_drop: false }` [INFO] [stderr] Compiling gemstone-2 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:465:13 [INFO] [stdout] | [INFO] [stdout] 465 | let mut class_name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:472:13 [INFO] [stdout] | [INFO] [stdout] 472 | let mut args: Vec = vec![]; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:500:17 [INFO] [stdout] | [INFO] [stdout] 500 | let mut right: Expr = self.parse_multiplicative(tokens, index); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:510:17 [INFO] [stdout] | [INFO] [stdout] 510 | let mut right: Expr = self.parse_member(tokens, index); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:519:17 [INFO] [stdout] | [INFO] [stdout] 519 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:532:17 [INFO] [stdout] | [INFO] [stdout] 532 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:569:21 [INFO] [stdout] | [INFO] [stdout] 569 | let mut expr: Expr = self.parse_token(tokens, index); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:586:13 [INFO] [stdout] | [INFO] [stdout] 586 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent` [INFO] [stdout] --> src/main.rs:669:38 [INFO] [stdout] | [INFO] [stdout] 669 | Expr::MemberFunctionCall(parent, function_call) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `function_call` [INFO] [stdout] --> src/main.rs:669:46 [INFO] [stdout] | [INFO] [stdout] 669 | Expr::MemberFunctionCall(parent, function_call) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_call` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `is_external` is never read [INFO] [stdout] --> src/main.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 53 | struct ClassFunction { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 60 | pub is_external: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClassFunction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `initializer` and `is_named` are never read [INFO] [stdout] --> src/main.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 65 | struct ClassVariable { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 68 | pub initializer: Box, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 69 | pub access: AccessModifier, [INFO] [stdout] 70 | pub is_named: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClassVariable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ClassFunction` is never constructed [INFO] [stdout] --> src/main.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 107 | enum Expr { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] 108 | Class(Class), [INFO] [stdout] 109 | ClassFunction(ClassFunction), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/main.rs:309:8 [INFO] [stdout] | [INFO] [stdout] 134 | impl Gemstone { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 309 | fn parse_class_function_def(&mut self, tokens: &Vec, index: &mut usize) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 608 | pub fn type_checker(&mut self, exprs: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 613 | fn type_check_expr(&mut self, expr: &Expr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 621 | fn type_check_function(&mut self, function: &Function) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 625 | fn type_check_variable_declaration(&mut self, variable_declaration: &VariableDeclaration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 631 | fn type_checker_rename_me(&mut self, first: &Type, second: &Type) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 661 | fn type_checker_get_type(&mut self, expr: &Expr) -> Type { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.53s [INFO] running `Command { std: "docker" "inspect" "a1fd2bb9bb59ed40c36d1f73ae191741c6e6415342c2ec9a301c3e1a75637414", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a1fd2bb9bb59ed40c36d1f73ae191741c6e6415342c2ec9a301c3e1a75637414", kill_on_drop: false }` [INFO] [stdout] a1fd2bb9bb59ed40c36d1f73ae191741c6e6415342c2ec9a301c3e1a75637414 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 25ca3c46eedb72955b53292f9edaa43937eb1f0fe3562d63d7753df753a47473 [INFO] running `Command { std: "docker" "start" "-a" "25ca3c46eedb72955b53292f9edaa43937eb1f0fe3562d63d7753df753a47473", kill_on_drop: false }` [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:465:13 [INFO] [stderr] | [INFO] [stderr] 465 | let mut class_name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:472:13 [INFO] [stderr] | [INFO] [stderr] 472 | let mut args: Vec = vec![]; [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:500:17 [INFO] [stderr] | [INFO] [stderr] 500 | let mut right: Expr = self.parse_multiplicative(tokens, index); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:510:17 [INFO] [stderr] | [INFO] [stderr] 510 | let mut right: Expr = self.parse_member(tokens, index); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:519:17 [INFO] [stderr] | [INFO] [stderr] 519 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:532:17 [INFO] [stderr] | [INFO] [stderr] 532 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:569:21 [INFO] [stderr] | [INFO] [stderr] 569 | let mut expr: Expr = self.parse_token(tokens, index); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:586:13 [INFO] [stderr] | [INFO] [stderr] 586 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `parent` [INFO] [stderr] --> src/main.rs:669:38 [INFO] [stderr] | [INFO] [stderr] 669 | Expr::MemberFunctionCall(parent, function_call) => { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `function_call` [INFO] [stderr] --> src/main.rs:669:46 [INFO] [stderr] | [INFO] [stderr] 669 | Expr::MemberFunctionCall(parent, function_call) => { [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_call` [INFO] [stderr] [INFO] [stderr] warning: field `is_external` is never read [INFO] [stderr] --> src/main.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 53 | struct ClassFunction { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 60 | pub is_external: bool, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ClassFunction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: fields `initializer` and `is_named` are never read [INFO] [stderr] --> src/main.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 65 | struct ClassVariable { [INFO] [stderr] | ------------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 68 | pub initializer: Box, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 69 | pub access: AccessModifier, [INFO] [stderr] 70 | pub is_named: bool, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ClassVariable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variant `ClassFunction` is never constructed [INFO] [stderr] --> src/main.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 107 | enum Expr { [INFO] [stderr] | ---- variant in this enum [INFO] [stderr] 108 | Class(Class), [INFO] [stderr] 109 | ClassFunction(ClassFunction), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/main.rs:309:8 [INFO] [stderr] | [INFO] [stderr] 134 | impl Gemstone { [INFO] [stderr] | ------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 309 | fn parse_class_function_def(&mut self, tokens: &Vec, index: &mut usize) -> Expr { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 608 | pub fn type_checker(&mut self, exprs: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 613 | fn type_check_expr(&mut self, expr: &Expr) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 621 | fn type_check_function(&mut self, function: &Function) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 625 | fn type_check_variable_declaration(&mut self, variable_declaration: &VariableDeclaration) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 631 | fn type_checker_rename_me(&mut self, first: &Type, second: &Type) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 661 | fn type_checker_get_type(&mut self, expr: &Expr) -> Type { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `gemstone-2` (bin "gemstone-2" test) generated 14 warnings (run `cargo fix --bin "gemstone-2" --tests` to apply 8 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gemstone_2-8286e91ade71b0fe) [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] running `Command { std: "docker" "inspect" "25ca3c46eedb72955b53292f9edaa43937eb1f0fe3562d63d7753df753a47473", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "25ca3c46eedb72955b53292f9edaa43937eb1f0fe3562d63d7753df753a47473", kill_on_drop: false }` [INFO] [stdout] 25ca3c46eedb72955b53292f9edaa43937eb1f0fe3562d63d7753df753a47473