[INFO] cloning repository https://github.com/mmeiler-dev/logicCLI [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mmeiler-dev/logicCLI" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmmeiler-dev%2FlogicCLI", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmmeiler-dev%2FlogicCLI'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] bb029cdb3592f133710d24d9b2bbcf8121b117ab [INFO] testing mmeiler-dev/logicCLI/bb029cdb3592f133710d24d9b2bbcf8121b117ab against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_getrandom_patch_2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmmeiler-dev%2FlogicCLI" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/mmeiler-dev/logicCLI [INFO] finished tweaking git repo https://github.com/mmeiler-dev/logicCLI [INFO] tweaked toml for git repo https://github.com/mmeiler-dev/logicCLI written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/mmeiler-dev/logicCLI on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/mmeiler-dev/logicCLI 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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded crossterm_winapi v0.9.1 [INFO] [stderr] Downloaded crossterm v0.27.0 [INFO] [stderr] Downloaded signal-hook-mio v0.2.3 [INFO] [stderr] Downloaded signal-hook v0.3.17 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8a235a4308a411336b0caf644164392d68244fb99506b546799688f970c6c9f4 [INFO] running `Command { std: "docker" "start" "-a" "8a235a4308a411336b0caf644164392d68244fb99506b546799688f970c6c9f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8a235a4308a411336b0caf644164392d68244fb99506b546799688f970c6c9f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8a235a4308a411336b0caf644164392d68244fb99506b546799688f970c6c9f4", kill_on_drop: false }` [INFO] [stdout] 8a235a4308a411336b0caf644164392d68244fb99506b546799688f970c6c9f4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] af6dbbc9c9be6e9b87da25405a0033d660f07820e584d34b70270e4bf2ad3cfe [INFO] running `Command { std: "docker" "start" "-a" "af6dbbc9c9be6e9b87da25405a0033d660f07820e584d34b70270e4bf2ad3cfe", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Compiling smallvec v1.13.2 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling bitflags v2.6.0 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling signal-hook-registry v1.4.2 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling mio v0.8.11 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling signal-hook-mio v0.2.3 [INFO] [stderr] Compiling crossterm v0.27.0 [INFO] [stderr] Compiling logic-cli v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `stdout` [INFO] [stdout] --> src/main.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{self, stdout, Write}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Tokenizer` [INFO] [stdout] --> src/commands.rs:3:53 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::evaluator::tokenizer::{Token, TokenType, Tokenizer, checkSyntax, mapToBool, parseBlocks}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/commands.rs:67:17 [INFO] [stdout] | [INFO] [stdout] 67 | fn commandTable(line: &Vec) -> String { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `expression` is never read [INFO] [stdout] --> src/evaluator/tokenizer.rs:268:17 [INFO] [stdout] | [INFO] [stdout] 268 | let mut expression: Vec = vec![]; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `exprEnd` is never read [INFO] [stdout] --> src/evaluator/tokenizer.rs:379:13 [INFO] [stdout] | [INFO] [stdout] 379 | let mut exprEnd: u16 = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `setRoot` is never used [INFO] [stdout] --> src/evaluator/mod.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 9 | impl AST { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] 10 | fn setRoot(&mut self, root: &ASTNode) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `printTokens` is never used [INFO] [stdout] --> src/evaluator/tokenizer.rs:82:4 [INFO] [stdout] | [INFO] [stdout] 82 | fn printTokens(tokens: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commandFinder` should have a snake case name [INFO] [stdout] --> src/commands.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn commandFinder(line: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `command_finder` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commandHelp` should have a snake case name [INFO] [stdout] --> src/commands.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn commandHelp() -> String { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `command_help` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commandEvaluate` should have a snake case name [INFO] [stdout] --> src/commands.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn commandEvaluate(line: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `command_evaluate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `idToBool` should have a snake case name [INFO] [stdout] --> src/commands.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | let mut idToBool: HashMap = HashMap::new(); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `id_to_bool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commandTable` should have a snake case name [INFO] [stdout] --> src/commands.rs:67:4 [INFO] [stdout] | [INFO] [stdout] 67 | fn commandTable(line: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `command_table` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `setRoot` should have a snake case name [INFO] [stdout] --> src/evaluator/mod.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | fn setRoot(&mut self, root: &ASTNode) { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `set_root` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `nType` should have a snake case name [INFO] [stdout] --> src/evaluator/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub nType: String, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `n_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getAST` should have a snake case name [INFO] [stdout] --> src/evaluator/mod.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn getAST(&self) -> AST { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `get_ast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `buildAST` should have a snake case name [INFO] [stdout] --> src/evaluator/mod.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn buildAST(&mut self) { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `build_ast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `searchPeak` should have a snake case name [INFO] [stdout] --> src/evaluator/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | fn searchPeak(&self, expression: &Vec) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `search_peak` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `maxVal` should have a snake case name [INFO] [stdout] --> src/evaluator/mod.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | let mut maxVal: u8 = 0; [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `max_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `currPrec` should have a snake case name [INFO] [stdout] --> src/evaluator/mod.rs:42:26 [INFO] [stdout] | [INFO] [stdout] 42 | if let Some(&currPrec) = tokenizer::precedences.get(&token.tType) { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `curr_prec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseExpr` should have a snake case name [INFO] [stdout] --> src/evaluator/mod.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | fn parseExpr(&self, expression: Vec) -> ASTNode { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `parse_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `NOT` should have a snake case name [INFO] [stdout] --> src/evaluator/boolean.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn NOT(bool1: String) -> String { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `not` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `AND` should have a snake case name [INFO] [stdout] --> src/evaluator/boolean.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn AND(bool1: String, bool2: String) -> String { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `and` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `OR` should have a snake case name [INFO] [stdout] --> src/evaluator/boolean.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn OR(bool1: String, bool2: String) -> String { [INFO] [stdout] | ^^ help: convert the identifier to snake case: `or` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `IMPLIES` should have a snake case name [INFO] [stdout] --> src/evaluator/boolean.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn IMPLIES(bool1: String, bool2: String) -> String { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `implies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `CONVERSE` should have a snake case name [INFO] [stdout] --> src/evaluator/boolean.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn CONVERSE(bool1: String, bool2: String) -> String { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `converse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `EQUIVALENCE` should have a snake case name [INFO] [stdout] --> src/evaluator/boolean.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn EQUIVALENCE(bool1: String, bool2: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `equivalence` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `XOR` should have a snake case name [INFO] [stdout] --> src/evaluator/boolean.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn XOR(bool1: String, bool2: String) -> String { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `xor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `NAND` should have a snake case name [INFO] [stdout] --> src/evaluator/boolean.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn NAND(bool1: String, bool2: String) -> String { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `nand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `NOR` should have a snake case name [INFO] [stdout] --> src/evaluator/boolean.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn NOR(bool1: String, bool2: String) -> String { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `nor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `operators` should have an upper case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | static operators: [&str; 9] = ["&&", "||", "!", "->", "<-", "<->", "^", "!&&", "!||"]; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `OPERATORS` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `commands` should have an upper case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | static commands: [&str; 9] = ["exit", "table", "valid", "satis", "semcons", "cnf", "dnf", "latex", "tree"]; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `COMMANDS` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `operatorTypes` should have an upper case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub static operatorTypes: [TokenType; 9] = [ [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper case: `OPERATOR_TYPES` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `operatorMap` should have an upper case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static operatorMap: Lazy> = Lazy::new(|| { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper case: `OPERATOR_MAP` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `precedences` should have an upper case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub static precedences: Lazy> = Lazy::new(|| { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper case: `PRECEDENCES` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `tType` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | pub tType: TokenType, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `t_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `printTokens` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:82:4 [INFO] [stdout] | [INFO] [stdout] 82 | fn printTokens(tokens: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `print_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `checkSyntax` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn checkSyntax(expression: &Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `check_syntax` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `nullToken` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | let nullToken = Token { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `null_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `makeIdentifier` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 207 | fn makeIdentifier(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `make_identifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `makeOperator` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:237:8 [INFO] [stdout] | [INFO] [stdout] 237 | fn makeOperator(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `make_operator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `makeExpression` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:267:8 [INFO] [stdout] | [INFO] [stdout] 267 | fn makeExpression(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `make_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `exprStr` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:269:17 [INFO] [stdout] | [INFO] [stdout] 269 | let mut exprStr = String::new(); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `expr_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mapToBool` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:365:8 [INFO] [stdout] | [INFO] [stdout] 365 | pub fn mapToBool(expression: &mut Vec, idToBool: HashMap) { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `map_to_bool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `idToBool` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:365:47 [INFO] [stdout] | [INFO] [stdout] 365 | pub fn mapToBool(expression: &mut Vec, idToBool: HashMap) { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `id_to_bool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getBlock` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:375:4 [INFO] [stdout] | [INFO] [stdout] 375 | fn getBlock(entryPoint: u16, expression: Vec) -> (bool, (Token, u16)) { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `get_block` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `entryPoint` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:375:13 [INFO] [stdout] | [INFO] [stdout] 375 | fn getBlock(entryPoint: u16, expression: Vec) -> (bool, (Token, u16)) { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `entry_point` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `exprStack` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:376:13 [INFO] [stdout] | [INFO] [stdout] 376 | let mut exprStack: Vec = vec![]; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `expr_stack` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `exprStart` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:378:9 [INFO] [stdout] | [INFO] [stdout] 378 | let exprStart: u16 = expression[entryPoint as usize].start; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `expr_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `exprEnd` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:379:13 [INFO] [stdout] | [INFO] [stdout] 379 | let mut exprEnd: u16 = 0; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `expr_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parseBlocks` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:410:8 [INFO] [stdout] | [INFO] [stdout] 410 | pub fn parseBlocks(expression: &mut Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `parse_blocks` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.77s [INFO] running `Command { std: "docker" "inspect" "af6dbbc9c9be6e9b87da25405a0033d660f07820e584d34b70270e4bf2ad3cfe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "af6dbbc9c9be6e9b87da25405a0033d660f07820e584d34b70270e4bf2ad3cfe", kill_on_drop: false }` [INFO] [stdout] af6dbbc9c9be6e9b87da25405a0033d660f07820e584d34b70270e4bf2ad3cfe [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 79aeb09a4b14cb5c86839b1720c7cd978a69c94f0c34338ed7d9ad42c7d78e21 [INFO] running `Command { std: "docker" "start" "-a" "79aeb09a4b14cb5c86839b1720c7cd978a69c94f0c34338ed7d9ad42c7d78e21", kill_on_drop: false }` [INFO] [stderr] Compiling logic-cli v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `stdout` [INFO] [stdout] --> src/main.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{self, stdout, Write}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Tokenizer` [INFO] [stdout] --> src/commands.rs:3:53 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::evaluator::tokenizer::{Token, TokenType, Tokenizer, checkSyntax, mapToBool, parseBlocks}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/commands.rs:67:17 [INFO] [stdout] | [INFO] [stdout] 67 | fn commandTable(line: &Vec) -> String { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `expression` is never read [INFO] [stdout] --> src/evaluator/tokenizer.rs:268:17 [INFO] [stdout] | [INFO] [stdout] 268 | let mut expression: Vec = vec![]; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `exprEnd` is never read [INFO] [stdout] --> src/evaluator/tokenizer.rs:379:13 [INFO] [stdout] | [INFO] [stdout] 379 | let mut exprEnd: u16 = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `setRoot` is never used [INFO] [stdout] --> src/evaluator/mod.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 9 | impl AST { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] 10 | fn setRoot(&mut self, root: &ASTNode) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `printTokens` is never used [INFO] [stdout] --> src/evaluator/tokenizer.rs:82:4 [INFO] [stdout] | [INFO] [stdout] 82 | fn printTokens(tokens: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commandFinder` should have a snake case name [INFO] [stdout] --> src/commands.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn commandFinder(line: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `command_finder` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commandHelp` should have a snake case name [INFO] [stdout] --> src/commands.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn commandHelp() -> String { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `command_help` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commandEvaluate` should have a snake case name [INFO] [stdout] --> src/commands.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn commandEvaluate(line: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `command_evaluate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `idToBool` should have a snake case name [INFO] [stdout] --> src/commands.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | let mut idToBool: HashMap = HashMap::new(); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `id_to_bool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commandTable` should have a snake case name [INFO] [stdout] --> src/commands.rs:67:4 [INFO] [stdout] | [INFO] [stdout] 67 | fn commandTable(line: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `command_table` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `setRoot` should have a snake case name [INFO] [stdout] --> src/evaluator/mod.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | fn setRoot(&mut self, root: &ASTNode) { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `set_root` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `nType` should have a snake case name [INFO] [stdout] --> src/evaluator/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub nType: String, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `n_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getAST` should have a snake case name [INFO] [stdout] --> src/evaluator/mod.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn getAST(&self) -> AST { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `get_ast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `buildAST` should have a snake case name [INFO] [stdout] --> src/evaluator/mod.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn buildAST(&mut self) { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `build_ast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `searchPeak` should have a snake case name [INFO] [stdout] --> src/evaluator/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | fn searchPeak(&self, expression: &Vec) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `search_peak` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `maxVal` should have a snake case name [INFO] [stdout] --> src/evaluator/mod.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | let mut maxVal: u8 = 0; [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `max_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `currPrec` should have a snake case name [INFO] [stdout] --> src/evaluator/mod.rs:42:26 [INFO] [stdout] | [INFO] [stdout] 42 | if let Some(&currPrec) = tokenizer::precedences.get(&token.tType) { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `curr_prec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseExpr` should have a snake case name [INFO] [stdout] --> src/evaluator/mod.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | fn parseExpr(&self, expression: Vec) -> ASTNode { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `parse_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `NOT` should have a snake case name [INFO] [stdout] --> src/evaluator/boolean.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn NOT(bool1: String) -> String { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `not` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `AND` should have a snake case name [INFO] [stdout] --> src/evaluator/boolean.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn AND(bool1: String, bool2: String) -> String { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `and` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `OR` should have a snake case name [INFO] [stdout] --> src/evaluator/boolean.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn OR(bool1: String, bool2: String) -> String { [INFO] [stdout] | ^^ help: convert the identifier to snake case: `or` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `IMPLIES` should have a snake case name [INFO] [stdout] --> src/evaluator/boolean.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn IMPLIES(bool1: String, bool2: String) -> String { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `implies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `CONVERSE` should have a snake case name [INFO] [stdout] --> src/evaluator/boolean.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn CONVERSE(bool1: String, bool2: String) -> String { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `converse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `EQUIVALENCE` should have a snake case name [INFO] [stdout] --> src/evaluator/boolean.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn EQUIVALENCE(bool1: String, bool2: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `equivalence` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `XOR` should have a snake case name [INFO] [stdout] --> src/evaluator/boolean.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn XOR(bool1: String, bool2: String) -> String { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `xor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `NAND` should have a snake case name [INFO] [stdout] --> src/evaluator/boolean.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn NAND(bool1: String, bool2: String) -> String { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `nand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `NOR` should have a snake case name [INFO] [stdout] --> src/evaluator/boolean.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn NOR(bool1: String, bool2: String) -> String { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `nor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `operators` should have an upper case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | static operators: [&str; 9] = ["&&", "||", "!", "->", "<-", "<->", "^", "!&&", "!||"]; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `OPERATORS` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `commands` should have an upper case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | static commands: [&str; 9] = ["exit", "table", "valid", "satis", "semcons", "cnf", "dnf", "latex", "tree"]; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `COMMANDS` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `operatorTypes` should have an upper case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub static operatorTypes: [TokenType; 9] = [ [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper case: `OPERATOR_TYPES` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `operatorMap` should have an upper case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static operatorMap: Lazy> = Lazy::new(|| { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper case: `OPERATOR_MAP` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `precedences` should have an upper case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub static precedences: Lazy> = Lazy::new(|| { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper case: `PRECEDENCES` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `tType` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | pub tType: TokenType, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `t_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `printTokens` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:82:4 [INFO] [stdout] | [INFO] [stdout] 82 | fn printTokens(tokens: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `print_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `checkSyntax` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn checkSyntax(expression: &Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `check_syntax` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `nullToken` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | let nullToken = Token { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `null_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `makeIdentifier` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 207 | fn makeIdentifier(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `make_identifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `makeOperator` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:237:8 [INFO] [stdout] | [INFO] [stdout] 237 | fn makeOperator(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `make_operator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `makeExpression` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:267:8 [INFO] [stdout] | [INFO] [stdout] 267 | fn makeExpression(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `make_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `exprStr` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:269:17 [INFO] [stdout] | [INFO] [stdout] 269 | let mut exprStr = String::new(); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `expr_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mapToBool` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:365:8 [INFO] [stdout] | [INFO] [stdout] 365 | pub fn mapToBool(expression: &mut Vec, idToBool: HashMap) { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `map_to_bool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `idToBool` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:365:47 [INFO] [stdout] | [INFO] [stdout] 365 | pub fn mapToBool(expression: &mut Vec, idToBool: HashMap) { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `id_to_bool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getBlock` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:375:4 [INFO] [stdout] | [INFO] [stdout] 375 | fn getBlock(entryPoint: u16, expression: Vec) -> (bool, (Token, u16)) { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `get_block` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `entryPoint` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:375:13 [INFO] [stdout] | [INFO] [stdout] 375 | fn getBlock(entryPoint: u16, expression: Vec) -> (bool, (Token, u16)) { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `entry_point` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `exprStack` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:376:13 [INFO] [stdout] | [INFO] [stdout] 376 | let mut exprStack: Vec = vec![]; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `expr_stack` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `exprStart` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:378:9 [INFO] [stdout] | [INFO] [stdout] 378 | let exprStart: u16 = expression[entryPoint as usize].start; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `expr_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `exprEnd` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:379:13 [INFO] [stdout] | [INFO] [stdout] 379 | let mut exprEnd: u16 = 0; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `expr_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parseBlocks` should have a snake case name [INFO] [stdout] --> src/evaluator/tokenizer.rs:410:8 [INFO] [stdout] | [INFO] [stdout] 410 | pub fn parseBlocks(expression: &mut Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `parse_blocks` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.98s [INFO] running `Command { std: "docker" "inspect" "79aeb09a4b14cb5c86839b1720c7cd978a69c94f0c34338ed7d9ad42c7d78e21", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "79aeb09a4b14cb5c86839b1720c7cd978a69c94f0c34338ed7d9ad42c7d78e21", kill_on_drop: false }` [INFO] [stdout] 79aeb09a4b14cb5c86839b1720c7cd978a69c94f0c34338ed7d9ad42c7d78e21 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 29ffcaa6c5258e2c6f694768dafb54d84e4ff6d7ca7f8d1a42259679b7d1e0e5 [INFO] running `Command { std: "docker" "start" "-a" "29ffcaa6c5258e2c6f694768dafb54d84e4ff6d7ca7f8d1a42259679b7d1e0e5", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `stdout` [INFO] [stderr] --> src/main.rs:1:21 [INFO] [stderr] | [INFO] [stderr] 1 | use std::io::{self, stdout, Write}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Tokenizer` [INFO] [stderr] --> src/commands.rs:3:53 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::evaluator::tokenizer::{Token, TokenType, Tokenizer, checkSyntax, mapToBool, parseBlocks}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `line` [INFO] [stderr] --> src/commands.rs:67:17 [INFO] [stderr] | [INFO] [stderr] 67 | fn commandTable(line: &Vec) -> String { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `expression` is never read [INFO] [stderr] --> src/evaluator/tokenizer.rs:268:17 [INFO] [stderr] | [INFO] [stderr] 268 | let mut expression: Vec = vec![]; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `exprEnd` is never read [INFO] [stderr] --> src/evaluator/tokenizer.rs:379:13 [INFO] [stderr] | [INFO] [stderr] 379 | let mut exprEnd: u16 = 0; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: method `setRoot` is never used [INFO] [stderr] --> src/evaluator/mod.rs:10:8 [INFO] [stderr] | [INFO] [stderr] 9 | impl AST { [INFO] [stderr] | -------- method in this implementation [INFO] [stderr] 10 | fn setRoot(&mut self, root: &ASTNode) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `printTokens` is never used [INFO] [stderr] --> src/evaluator/tokenizer.rs:82:4 [INFO] [stderr] | [INFO] [stderr] 82 | fn printTokens(tokens: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `commandFinder` should have a snake case name [INFO] [stderr] --> src/commands.rs:5:8 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn commandFinder(line: &Vec) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `command_finder` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `commandHelp` should have a snake case name [INFO] [stderr] --> src/commands.rs:19:8 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn commandHelp() -> String { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `command_help` [INFO] [stderr] [INFO] [stderr] warning: function `commandEvaluate` should have a snake case name [INFO] [stderr] --> src/commands.rs:23:4 [INFO] [stderr] | [INFO] [stderr] 23 | fn commandEvaluate(line: &Vec) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `command_evaluate` [INFO] [stderr] [INFO] [stderr] warning: variable `idToBool` should have a snake case name [INFO] [stderr] --> src/commands.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | let mut idToBool: HashMap = HashMap::new(); [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `id_to_bool` [INFO] [stderr] [INFO] [stderr] warning: function `commandTable` should have a snake case name [INFO] [stderr] --> src/commands.rs:67:4 [INFO] [stderr] | [INFO] [stderr] 67 | fn commandTable(line: &Vec) -> String { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `command_table` [INFO] [stderr] [INFO] [stderr] warning: method `setRoot` should have a snake case name [INFO] [stderr] --> src/evaluator/mod.rs:10:8 [INFO] [stderr] | [INFO] [stderr] 10 | fn setRoot(&mut self, root: &ASTNode) { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `set_root` [INFO] [stderr] [INFO] [stderr] warning: structure field `nType` should have a snake case name [INFO] [stderr] --> src/evaluator/mod.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | pub nType: String, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `n_type` [INFO] [stderr] [INFO] [stderr] warning: method `getAST` should have a snake case name [INFO] [stderr] --> src/evaluator/mod.rs:29:12 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn getAST(&self) -> AST { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `get_ast` [INFO] [stderr] [INFO] [stderr] warning: method `buildAST` should have a snake case name [INFO] [stderr] --> src/evaluator/mod.rs:33:12 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn buildAST(&mut self) { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `build_ast` [INFO] [stderr] [INFO] [stderr] warning: method `searchPeak` should have a snake case name [INFO] [stderr] --> src/evaluator/mod.rs:37:8 [INFO] [stderr] | [INFO] [stderr] 37 | fn searchPeak(&self, expression: &Vec) -> u16 { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `search_peak` [INFO] [stderr] [INFO] [stderr] warning: variable `maxVal` should have a snake case name [INFO] [stderr] --> src/evaluator/mod.rs:38:17 [INFO] [stderr] | [INFO] [stderr] 38 | let mut maxVal: u8 = 0; [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `max_val` [INFO] [stderr] [INFO] [stderr] warning: variable `currPrec` should have a snake case name [INFO] [stderr] --> src/evaluator/mod.rs:42:26 [INFO] [stderr] | [INFO] [stderr] 42 | if let Some(&currPrec) = tokenizer::precedences.get(&token.tType) { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `curr_prec` [INFO] [stderr] [INFO] [stderr] warning: method `parseExpr` should have a snake case name [INFO] [stderr] --> src/evaluator/mod.rs:54:8 [INFO] [stderr] | [INFO] [stderr] 54 | fn parseExpr(&self, expression: Vec) -> ASTNode { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `parse_expr` [INFO] [stderr] [INFO] [stderr] warning: function `NOT` should have a snake case name [INFO] [stderr] --> src/evaluator/boolean.rs:1:8 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn NOT(bool1: String) -> String { [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `not` [INFO] [stderr] [INFO] [stderr] warning: function `AND` should have a snake case name [INFO] [stderr] --> src/evaluator/boolean.rs:8:8 [INFO] [stderr] | [INFO] [stderr] 8 | pub fn AND(bool1: String, bool2: String) -> String { [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `and` [INFO] [stderr] [INFO] [stderr] warning: function `OR` should have a snake case name [INFO] [stderr] --> src/evaluator/boolean.rs:15:8 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn OR(bool1: String, bool2: String) -> String { [INFO] [stderr] | ^^ help: convert the identifier to snake case: `or` [INFO] [stderr] [INFO] [stderr] warning: function `IMPLIES` should have a snake case name [INFO] [stderr] --> src/evaluator/boolean.rs:22:8 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn IMPLIES(bool1: String, bool2: String) -> String { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `implies` [INFO] [stderr] [INFO] [stderr] warning: function `CONVERSE` should have a snake case name [INFO] [stderr] --> src/evaluator/boolean.rs:26:8 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn CONVERSE(bool1: String, bool2: String) -> String { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `converse` [INFO] [stderr] [INFO] [stderr] warning: function `EQUIVALENCE` should have a snake case name [INFO] [stderr] --> src/evaluator/boolean.rs:30:8 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn EQUIVALENCE(bool1: String, bool2: String) -> String { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `equivalence` [INFO] [stderr] [INFO] [stderr] warning: function `XOR` should have a snake case name [INFO] [stderr] --> src/evaluator/boolean.rs:34:8 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn XOR(bool1: String, bool2: String) -> String { [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `xor` [INFO] [stderr] [INFO] [stderr] warning: function `NAND` should have a snake case name [INFO] [stderr] --> src/evaluator/boolean.rs:38:8 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn NAND(bool1: String, bool2: String) -> String { [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `nand` [INFO] [stderr] [INFO] [stderr] warning: function `NOR` should have a snake case name [INFO] [stderr] --> src/evaluator/boolean.rs:42:8 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn NOR(bool1: String, bool2: String) -> String { [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `nor` [INFO] [stderr] [INFO] [stderr] warning: static variable `operators` should have an upper case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:5:8 [INFO] [stderr] | [INFO] [stderr] 5 | static operators: [&str; 9] = ["&&", "||", "!", "->", "<-", "<->", "^", "!&&", "!||"]; [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper case: `OPERATORS` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stderr] [INFO] [stderr] warning: static variable `commands` should have an upper case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:6:8 [INFO] [stderr] | [INFO] [stderr] 6 | static commands: [&str; 9] = ["exit", "table", "valid", "satis", "semcons", "cnf", "dnf", "latex", "tree"]; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper case: `COMMANDS` [INFO] [stderr] [INFO] [stderr] warning: static variable `operatorTypes` should have an upper case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:7:12 [INFO] [stderr] | [INFO] [stderr] 7 | pub static operatorTypes: [TokenType; 9] = [ [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to upper case: `OPERATOR_TYPES` [INFO] [stderr] [INFO] [stderr] warning: static variable `operatorMap` should have an upper case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:11:8 [INFO] [stderr] | [INFO] [stderr] 11 | static operatorMap: Lazy> = Lazy::new(|| { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper case: `OPERATOR_MAP` [INFO] [stderr] [INFO] [stderr] warning: static variable `precedences` should have an upper case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:25:12 [INFO] [stderr] | [INFO] [stderr] 25 | pub static precedences: Lazy> = Lazy::new(|| { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper case: `PRECEDENCES` [INFO] [stderr] [INFO] [stderr] warning: structure field `tType` should have a snake case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | pub tType: TokenType, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `t_type` [INFO] [stderr] [INFO] [stderr] warning: function `printTokens` should have a snake case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:82:4 [INFO] [stderr] | [INFO] [stderr] 82 | fn printTokens(tokens: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `print_tokens` [INFO] [stderr] [INFO] [stderr] warning: function `checkSyntax` should have a snake case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:96:8 [INFO] [stderr] | [INFO] [stderr] 96 | pub fn checkSyntax(expression: &Vec) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `check_syntax` [INFO] [stderr] [INFO] [stderr] warning: variable `nullToken` should have a snake case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | let nullToken = Token { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `null_token` [INFO] [stderr] [INFO] [stderr] warning: method `makeIdentifier` should have a snake case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:207:8 [INFO] [stderr] | [INFO] [stderr] 207 | fn makeIdentifier(&mut self) -> Token { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `make_identifier` [INFO] [stderr] [INFO] [stderr] warning: method `makeOperator` should have a snake case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:237:8 [INFO] [stderr] | [INFO] [stderr] 237 | fn makeOperator(&mut self) -> Token { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `make_operator` [INFO] [stderr] [INFO] [stderr] warning: method `makeExpression` should have a snake case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:267:8 [INFO] [stderr] | [INFO] [stderr] 267 | fn makeExpression(&mut self) -> Token { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `make_expression` [INFO] [stderr] [INFO] [stderr] warning: variable `exprStr` should have a snake case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:269:17 [INFO] [stderr] | [INFO] [stderr] 269 | let mut exprStr = String::new(); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `expr_str` [INFO] [stderr] [INFO] [stderr] warning: function `mapToBool` should have a snake case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:365:8 [INFO] [stderr] | [INFO] [stderr] 365 | pub fn mapToBool(expression: &mut Vec, idToBool: HashMap) { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `map_to_bool` [INFO] [stderr] [INFO] [stderr] warning: variable `idToBool` should have a snake case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:365:47 [INFO] [stderr] | [INFO] [stderr] 365 | pub fn mapToBool(expression: &mut Vec, idToBool: HashMap) { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `id_to_bool` [INFO] [stderr] [INFO] [stderr] warning: function `getBlock` should have a snake case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:375:4 [INFO] [stderr] | [INFO] [stderr] 375 | fn getBlock(entryPoint: u16, expression: Vec) -> (bool, (Token, u16)) { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `get_block` [INFO] [stderr] [INFO] [stderr] warning: variable `entryPoint` should have a snake case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:375:13 [INFO] [stderr] | [INFO] [stderr] 375 | fn getBlock(entryPoint: u16, expression: Vec) -> (bool, (Token, u16)) { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `entry_point` [INFO] [stderr] [INFO] [stderr] warning: variable `exprStack` should have a snake case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:376:13 [INFO] [stderr] | [INFO] [stderr] 376 | let mut exprStack: Vec = vec![]; [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `expr_stack` [INFO] [stderr] [INFO] [stderr] warning: variable `exprStart` should have a snake case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:378:9 [INFO] [stderr] | [INFO] [stderr] 378 | let exprStart: u16 = expression[entryPoint as usize].start; [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `expr_start` [INFO] [stderr] [INFO] [stderr] warning: variable `exprEnd` should have a snake case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:379:13 [INFO] [stderr] | [INFO] [stderr] 379 | let mut exprEnd: u16 = 0; [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `expr_end` [INFO] [stderr] [INFO] [stderr] warning: function `parseBlocks` should have a snake case name [INFO] [stderr] --> src/evaluator/tokenizer.rs:410:8 [INFO] [stderr] | [INFO] [stderr] 410 | pub fn parseBlocks(expression: &mut Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `parse_blocks` [INFO] [stderr] [INFO] [stderr] warning: `logic-cli` (bin "logic-cli" test) generated 50 warnings (run `cargo fix --bin "logic-cli" --tests` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/logic_cli-f64f8a20d51a02c7) [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" "29ffcaa6c5258e2c6f694768dafb54d84e4ff6d7ca7f8d1a42259679b7d1e0e5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "29ffcaa6c5258e2c6f694768dafb54d84e4ff6d7ca7f8d1a42259679b7d1e0e5", kill_on_drop: false }` [INFO] [stdout] 29ffcaa6c5258e2c6f694768dafb54d84e4ff6d7ca7f8d1a42259679b7d1e0e5