[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] checking icxd/gemstone against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ficxd%2Fgemstone" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/icxd/gemstone on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "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-6-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" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a7f37ab729750a7219a21ba34674a5adf7e7aca37da4f287a10251e7e972e814 [INFO] running `Command { std: "docker" "start" "-a" "a7f37ab729750a7219a21ba34674a5adf7e7aca37da4f287a10251e7e972e814", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a7f37ab729750a7219a21ba34674a5adf7e7aca37da4f287a10251e7e972e814", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a7f37ab729750a7219a21ba34674a5adf7e7aca37da4f287a10251e7e972e814", kill_on_drop: false }` [INFO] [stdout] a7f37ab729750a7219a21ba34674a5adf7e7aca37da4f287a10251e7e972e814 [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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0e6d4b10fe1edff97ab61c4dab0aa066403f27cb4e974d4376d9c37dd113dad8 [INFO] running `Command { std: "docker" "start" "-a" "0e6d4b10fe1edff97ab61c4dab0aa066403f27cb4e974d4376d9c37dd113dad8", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.139 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking colored v2.0.0 [INFO] [stderr] Checking 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: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: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: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: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: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: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: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: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: 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: 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] [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] [stdout] warning: 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.97s [INFO] running `Command { std: "docker" "inspect" "0e6d4b10fe1edff97ab61c4dab0aa066403f27cb4e974d4376d9c37dd113dad8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0e6d4b10fe1edff97ab61c4dab0aa066403f27cb4e974d4376d9c37dd113dad8", kill_on_drop: false }` [INFO] [stdout] 0e6d4b10fe1edff97ab61c4dab0aa066403f27cb4e974d4376d9c37dd113dad8