[INFO] cloning repository https://github.com/SignedSnow0/compiler [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/SignedSnow0/compiler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSignedSnow0%2Fcompiler", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSignedSnow0%2Fcompiler'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5160e018ecdcb4d90ad028c22074c9a4b87401fa [INFO] linting SignedSnow0/compiler against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSignedSnow0%2Fcompiler" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/SignedSnow0/compiler [INFO] finished tweaking git repo https://github.com/SignedSnow0/compiler [INFO] tweaked toml for git repo https://github.com/SignedSnow0/compiler written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/SignedSnow0/compiler on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/SignedSnow0/compiler 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" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded inkwell_internals v0.12.0 [INFO] [stderr] Downloaded llvm-sys v181.2.0 [INFO] [stderr] Downloaded cc v1.2.46 [INFO] [stderr] Downloaded inkwell v0.7.0 [INFO] [stderr] Downloaded syn v2.0.110 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8c065cb22fcd2d83fbc812d16ad5a373fecd71df3e7983fefd3df336d4eab370 [INFO] running `Command { std: "docker" "start" "-a" "8c065cb22fcd2d83fbc812d16ad5a373fecd71df3e7983fefd3df336d4eab370", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8c065cb22fcd2d83fbc812d16ad5a373fecd71df3e7983fefd3df336d4eab370", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8c065cb22fcd2d83fbc812d16ad5a373fecd71df3e7983fefd3df336d4eab370", kill_on_drop: false }` [INFO] [stdout] 8c065cb22fcd2d83fbc812d16ad5a373fecd71df3e7983fefd3df336d4eab370 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4ac82496094c80af686a9f0b109588f348e09282f8e23769b0cfc3a37822ad02 [INFO] running `Command { std: "docker" "start" "-a" "4ac82496094c80af686a9f0b109588f348e09282f8e23769b0cfc3a37822ad02", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.103 [INFO] [stderr] Compiling quote v1.0.42 [INFO] [stderr] Compiling unicode-ident v1.0.22 [INFO] [stderr] Compiling find-msvc-tools v0.1.5 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling regex-lite v0.1.8 [INFO] [stderr] Compiling anyhow v1.0.100 [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Compiling inkwell v0.7.0 [INFO] [stderr] Compiling cc v1.2.46 [INFO] [stderr] Compiling syn v2.0.110 [INFO] [stderr] Compiling llvm-sys v181.2.0 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling inkwell_internals v0.12.0 [INFO] [stderr] Checking thiserror v2.0.17 [INFO] [stderr] Checking compiler v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `parse_char_lit` [INFO] [stdout] --> src/parser/declarations.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | utils::{parse_char_lit, parse_parameter}, [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: `utils::parse_char_lit` [INFO] [stdout] --> src/parser/instructions.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | utils::parse_char_lit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parse_char_lit` [INFO] [stdout] --> src/parser/declarations.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | utils::{parse_char_lit, parse_parameter}, [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: `utils::parse_char_lit` [INFO] [stdout] --> src/parser/instructions.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | utils::parse_char_lit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/compiler/llvmcompiler.rs:205:30 [INFO] [stdout] | [INFO] [stdout] 205 | fn visit_char(&mut self, node: &mut Character) -> Result<()> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ast_type` [INFO] [stdout] --> src/compiler/type_converter.rs:289:21 [INFO] [stdout] | [INFO] [stdout] 289 | let ast_type = self.mono_to_type(&mono_type)?; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ast_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/compiler/llvmcompiler.rs:205:30 [INFO] [stdout] | [INFO] [stdout] 205 | fn visit_char(&mut self, node: &mut Character) -> Result<()> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Abstraction` is never constructed [INFO] [stdout] --> src/compiler/type_checker.rs:266:5 [INFO] [stdout] | [INFO] [stdout] 263 | pub enum Expression { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 266 | Abstraction(String, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_number` is never used [INFO] [stdout] --> src/lexer/mod.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 54 | impl Token { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn is_number(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemberAccess` is never constructed [INFO] [stdout] --> src/parser/mod.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | struct MemberAccess; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ast_type` [INFO] [stdout] --> src/compiler/type_converter.rs:289:21 [INFO] [stdout] | [INFO] [stdout] 289 | let ast_type = self.mono_to_type(&mono_type)?; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ast_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `fields` is never read [INFO] [stdout] --> src/ast/mod.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct StructTypedef { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 31 | pub name: String, [INFO] [stdout] 32 | pub fields: HashMap, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `value` is never read [INFO] [stdout] --> src/ast/mod.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 145 | pub struct Character { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 146 | pub value: char, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AstWriter` is never constructed [INFO] [stdout] --> src/compiler/mod.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | pub struct AstWriter { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `write`, and `get_string` are never used [INFO] [stdout] --> src/compiler/mod.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl AstWriter { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 47 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | fn write(&mut self, value: &str) -> Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn get_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Abstraction` and `Let` are never constructed [INFO] [stdout] --> src/compiler/type_checker.rs:266:5 [INFO] [stdout] | [INFO] [stdout] 263 | pub enum Expression { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 266 | Abstraction(String, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 267 | Let(String, Box, Box), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `w` is never used [INFO] [stdout] --> src/compiler/type_checker.rs:354:8 [INFO] [stdout] | [INFO] [stdout] 354 | pub fn w( [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_number` is never used [INFO] [stdout] --> src/lexer/mod.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 54 | impl Token { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn is_number(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemberAccess` is never constructed [INFO] [stdout] --> src/parser/mod.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | struct MemberAccess; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/compiler/mod.rs:190:24 [INFO] [stdout] | [INFO] [stdout] 190 | self.write(&name)?; [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/compiler/mod.rs:355:24 [INFO] [stdout] | [INFO] [stdout] 355 | self.write(&name)?; [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `EOF` contains a capitalized acronym [INFO] [stdout] --> src/lexer/mod.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | EOF, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter (notice the capitalization): `Eof` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.iter().nth()` on a `Vec` [INFO] [stdout] --> src/lexer/mod.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | / self.tokens [INFO] [stdout] 84 | | .iter() [INFO] [stdout] 85 | | .nth(self.tokens.len() - n) [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth [INFO] [stdout] = note: `#[warn(clippy::iter_nth)]` on by default [INFO] [stdout] help: `get` is equivalent but more concise [INFO] [stdout] | [INFO] [stdout] 84 - .iter() [INFO] [stdout] 85 - .nth(self.tokens.len() - n) [INFO] [stdout] 84 + .get(self.tokens.len() - n) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/parser/declarations.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | if !lexer.consume_if(|token| token == &Token::CurlyR).is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `lexer.consume_if(|token| token == &Token::CurlyR).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/compiler/mod.rs:190:24 [INFO] [stdout] | [INFO] [stdout] 190 | self.write(&name)?; [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/compiler/mod.rs:355:24 [INFO] [stdout] | [INFO] [stdout] 355 | self.write(&name)?; [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `EOF` contains a capitalized acronym [INFO] [stdout] --> src/lexer/mod.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | EOF, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter (notice the capitalization): `Eof` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.iter().nth()` on a `Vec` [INFO] [stdout] --> src/lexer/mod.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | / self.tokens [INFO] [stdout] 84 | | .iter() [INFO] [stdout] 85 | | .nth(self.tokens.len() - n) [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth [INFO] [stdout] = note: `#[warn(clippy::iter_nth)]` on by default [INFO] [stdout] help: `get` is equivalent but more concise [INFO] [stdout] | [INFO] [stdout] 84 - .iter() [INFO] [stdout] 85 - .nth(self.tokens.len() - n) [INFO] [stdout] 84 + .get(self.tokens.len() - n) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/parser/declarations.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | if !lexer.consume_if(|token| token == &Token::CurlyR).is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `lexer.consume_if(|token| token == &Token::CurlyR).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.58s [INFO] running `Command { std: "docker" "inspect" "4ac82496094c80af686a9f0b109588f348e09282f8e23769b0cfc3a37822ad02", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4ac82496094c80af686a9f0b109588f348e09282f8e23769b0cfc3a37822ad02", kill_on_drop: false }` [INFO] [stdout] 4ac82496094c80af686a9f0b109588f348e09282f8e23769b0cfc3a37822ad02