[INFO] cloning repository https://github.com/jgbyrne/jann [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jgbyrne/jann" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjgbyrne%2Fjann", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjgbyrne%2Fjann'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fa34c444275a47af80d278cd92e52c828716c168 [INFO] testing jgbyrne/jann against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjgbyrne%2Fjann" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/jgbyrne/jann [INFO] finished tweaking git repo https://github.com/jgbyrne/jann [INFO] tweaked toml for git repo https://github.com/jgbyrne/jann written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/jgbyrne/jann on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/jgbyrne/jann already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded dirs v2.0.2 [INFO] [stderr] Downloaded thread_local v0.3.6 [INFO] [stderr] Downloaded same-file v1.0.2 [INFO] [stderr] Downloaded nodrop v0.1.13 [INFO] [stderr] Downloaded arrayvec v0.4.11 [INFO] [stderr] Downloaded cfg-if v0.1.9 [INFO] [stderr] Downloaded rustc-demangle v0.1.15 [INFO] [stderr] Downloaded synstructure v0.10.2 [INFO] [stderr] Downloaded walkdir v2.1.4 [INFO] [stderr] Downloaded cc v1.0.38 [INFO] [stderr] Downloaded failure v0.1.5 [INFO] [stderr] Downloaded backtrace v0.3.34 [INFO] [stderr] Downloaded fuchsia-cprng v0.1.1 [INFO] [stderr] Downloaded rand_core v0.4.0 [INFO] [stderr] Downloaded rand_core v0.3.1 [INFO] [stderr] Downloaded rand_os v0.1.3 [INFO] [stderr] Downloaded aho-corasick v0.7.6 [INFO] [stderr] Downloaded redox_users v0.3.0 [INFO] [stderr] Downloaded memchr v2.2.1 [INFO] [stderr] Downloaded constant_time_eq v0.1.3 [INFO] [stderr] Downloaded blake2-rfc v0.2.18 [INFO] [stderr] Downloaded failure_derive v0.1.5 [INFO] [stderr] Downloaded bitflags v1.1.0 [INFO] [stderr] Downloaded rdrand v0.4.0 [INFO] [stderr] Downloaded dirs-sys v0.3.4 [INFO] [stderr] Downloaded syn v0.15.42 [INFO] [stderr] Downloaded regex v1.3.1 [INFO] [stderr] Downloaded regex-syntax v0.6.12 [INFO] [stderr] Downloaded argon2rs v0.2.5 [INFO] [stderr] Downloaded libc v0.2.60 [INFO] [stderr] Downloaded backtrace-sys v0.1.31 [INFO] [stderr] Downloaded winapi v0.3.5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] eaa29416c723ce23a4a8eaac3badf45bdc42e0dfa4ce5e34ab61886b1f02cd56 [INFO] running `Command { std: "docker" "start" "-a" "eaa29416c723ce23a4a8eaac3badf45bdc42e0dfa4ce5e34ab61886b1f02cd56", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "eaa29416c723ce23a4a8eaac3badf45bdc42e0dfa4ce5e34ab61886b1f02cd56", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eaa29416c723ce23a4a8eaac3badf45bdc42e0dfa4ce5e34ab61886b1f02cd56", kill_on_drop: false }` [INFO] [stdout] eaa29416c723ce23a4a8eaac3badf45bdc42e0dfa4ce5e34ab61886b1f02cd56 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 292467c5b98a5ebe0f4f3a1ee187dd75e9537b857ee297d721c4f8b41096a5e0 [INFO] running `Command { std: "docker" "start" "-a" "292467c5b98a5ebe0f4f3a1ee187dd75e9537b857ee297d721c4f8b41096a5e0", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Compiling libc v0.2.60 [INFO] [stderr] Compiling cfg-if v0.1.9 [INFO] [stderr] Compiling bitflags v1.1.0 [INFO] [stderr] Compiling regex-syntax v0.6.12 [INFO] [stderr] Compiling same-file v1.0.2 [INFO] [stderr] Compiling thread_local v0.3.6 [INFO] [stderr] Compiling walkdir v2.1.4 [INFO] [stderr] Compiling dirs-sys v0.3.4 [INFO] [stderr] Compiling dirs v2.0.2 [INFO] [stderr] Compiling aho-corasick v0.7.6 [INFO] [stderr] Compiling regex v1.3.1 [INFO] [stderr] Compiling jann v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::path::PathBuf; [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: `util` [INFO] [stdout] --> src/com.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use util; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/com.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PL_TAG` should have an upper camel case name [INFO] [stdout] --> src/com.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | PL_TAG(String, String), [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `PlTag` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PL_STAGE` should have an upper camel case name [INFO] [stdout] --> src/com.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | PL_STAGE(String, String), [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `PlStage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `DO_STDIN` should have an upper camel case name [INFO] [stdout] --> src/com.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | DO_STDIN { switches: Switches }, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `DoStdin` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `DO_FILE` should have an upper camel case name [INFO] [stdout] --> src/com.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | DO_FILE { switches: Switches, file: String }, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `DoFile` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ParseTreeNode`, `ParseTree`, `TokenType`, and `Token` [INFO] [stdout] --> src/invoke.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use parse::{ParseTree, ParseTreeNode, PTNodeType, Token, TokenType}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/exec.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | use std::path::{Path, PathBuf, Component}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/exec.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parse` [INFO] [stdout] --> src/exec.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use parse; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TokenType` [INFO] [stdout] --> src/inter.rs:2:58 [INFO] [stdout] | [INFO] [stdout] 2 | use parse::{ParseTree, ParseTreeNode, PTNodeType, Token, TokenType}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `jann_bin` [INFO] [stdout] --> src/com.rs:111:13 [INFO] [stdout] | [INFO] [stdout] 111 | let jann_bin = args.next(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_jann_bin` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/invoke.rs:79:33 [INFO] [stdout] | [INFO] [stdout] 79 | ... let mut node: inter::LinkNode = inv.art.node(*block_id); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/invoke.rs:165:13 [INFO] [stdout] | [INFO] [stdout] 165 | let mut main_line = self.index.get(inv.pl_name.as_str()).unwrap_or_else( | | { [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inv` [INFO] [stdout] --> src/exec.rs:20:30 [INFO] [stdout] | [INFO] [stdout] 20 | fn command<'inv, 'src: 'inv>(inv: &invoke::Invocation<'src>, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_inv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exec.rs:168:9 [INFO] [stdout] | [INFO] [stdout] 168 | let mut block_children = node.children(); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/exec.rs:206:17 [INFO] [stdout] | [INFO] [stdout] 206 | let name = &node.children()[1]; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src_cmps` [INFO] [stdout] --> src/deploy.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | let src_cmps: Vec = src.components().collect(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_cmps` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `rprint` is never used [INFO] [stdout] --> src/parse.rs:290:8 [INFO] [stdout] | [INFO] [stdout] 289 | impl ParseTreeNode { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 290 | fn rprint(&self, tree: &ParseTree, n: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print_tree` is never used [INFO] [stdout] --> src/parse.rs:330:12 [INFO] [stdout] | [INFO] [stdout] 303 | impl ParseTree { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 330 | pub fn print_tree(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `foreptr` is never read [INFO] [stdout] --> src/parse.rs:347:5 [INFO] [stdout] | [INFO] [stdout] 344 | struct Parser<'log, 'src: 'log> { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 347 | foreptr: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `peek` and `node` are never used [INFO] [stdout] --> src/parse.rs:393:8 [INFO] [stdout] | [INFO] [stdout] 352 | impl<'log, 'src> Parser<'log, 'src> { [INFO] [stdout] | ----------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 393 | fn peek(&mut self, n: usize) -> &Token<'src> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 410 | fn node(&mut self, parent: usize, nt: PTNodeType, tok_id: usize) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `component_string` is never used [INFO] [stdout] --> src/exec.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn component_string(c: &Component) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Name` and `JName` are never constructed [INFO] [stdout] --> src/inter.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum Value<'src> { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 9 | Name(&'src str), [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | JName(&'src str), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Value` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `expect_type` is never used [INFO] [stdout] --> src/inter.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'int, 'src: 'int> LinkNode<'int, 'src> { [INFO] [stdout] | ------------------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn expect_type(&self, nt: &PTNodeType) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/parse.rs:16:46 [INFO] [stdout] | [INFO] [stdout] 16 | fn single(src: &'src str, ptr: usize) -> Span { [INFO] [stdout] | ---- ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'src` [INFO] [stdout] | [INFO] [stdout] 16 | fn single(src: &'src str, ptr: usize) -> Span<'src> { [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/parse.rs:20:46 [INFO] [stdout] | [INFO] [stdout] 20 | fn begin(src: &'src str, lptr: usize) -> Span { [INFO] [stdout] | ---- ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'src` [INFO] [stdout] | [INFO] [stdout] 20 | fn begin(src: &'src str, lptr: usize) -> Span<'src> { [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/exec.rs:227:17 [INFO] [stdout] | [INFO] [stdout] 227 | env::set_current_dir(cur); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 227 | let _ = env::set_current_dir(cur); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NONE` should have a snake case name [INFO] [stdout] --> src/inter.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | let NONE = 0; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `none` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `LBRACE` should have a snake case name [INFO] [stdout] --> src/inter.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | let LBRACE = 1; [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `lbrace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `RBRACE` should have a snake case name [INFO] [stdout] --> src/inter.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | let RBRACE = 2; [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `rbrace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `WITHIN` should have a snake case name [INFO] [stdout] --> src/inter.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | let WITHIN = 3; [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `within` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/inter.rs:219:23 [INFO] [stdout] | [INFO] [stdout] 219 | _ => { panic!(format!("Bad Value {:?}", node.ptn.nt)); } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 219 - _ => { panic!(format!("Bad Value {:?}", node.ptn.nt)); } [INFO] [stdout] 219 + _ => { panic!("Bad Value {:?}", node.ptn.nt); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `OW_FF` should have a snake case name [INFO] [stdout] --> src/deploy.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub OW_FF: bool, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `ow_ff` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `OW_DD` should have a snake case name [INFO] [stdout] --> src/deploy.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub OW_DD: bool, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `ow_dd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `OW_FD` should have a snake case name [INFO] [stdout] --> src/deploy.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub OW_FD: bool, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `ow_fd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `OW_DF` should have a snake case name [INFO] [stdout] --> src/deploy.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub OW_DF: bool, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `ow_df` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `INTER` should have a snake case name [INFO] [stdout] --> src/deploy.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub INTER: bool, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `inter` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.60s [INFO] running `Command { std: "docker" "inspect" "292467c5b98a5ebe0f4f3a1ee187dd75e9537b857ee297d721c4f8b41096a5e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "292467c5b98a5ebe0f4f3a1ee187dd75e9537b857ee297d721c4f8b41096a5e0", kill_on_drop: false }` [INFO] [stdout] 292467c5b98a5ebe0f4f3a1ee187dd75e9537b857ee297d721c4f8b41096a5e0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0f98e53dd86eb0983ee0ae11f47f1f966fc0dd7232461e9c2e553504c6b8df7a [INFO] running `Command { std: "docker" "start" "-a" "0f98e53dd86eb0983ee0ae11f47f1f966fc0dd7232461e9c2e553504c6b8df7a", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Compiling jann v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::path::PathBuf; [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: `util` [INFO] [stdout] --> src/com.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use util; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/com.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PL_TAG` should have an upper camel case name [INFO] [stdout] --> src/com.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | PL_TAG(String, String), [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `PlTag` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PL_STAGE` should have an upper camel case name [INFO] [stdout] --> src/com.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | PL_STAGE(String, String), [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `PlStage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `DO_STDIN` should have an upper camel case name [INFO] [stdout] --> src/com.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | DO_STDIN { switches: Switches }, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `DoStdin` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `DO_FILE` should have an upper camel case name [INFO] [stdout] --> src/com.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | DO_FILE { switches: Switches, file: String }, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `DoFile` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ParseTreeNode`, `ParseTree`, `TokenType`, and `Token` [INFO] [stdout] --> src/invoke.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use parse::{ParseTree, ParseTreeNode, PTNodeType, Token, TokenType}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/exec.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | use std::path::{Path, PathBuf, Component}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/exec.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parse` [INFO] [stdout] --> src/exec.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use parse; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TokenType` [INFO] [stdout] --> src/inter.rs:2:58 [INFO] [stdout] | [INFO] [stdout] 2 | use parse::{ParseTree, ParseTreeNode, PTNodeType, Token, TokenType}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `jann_bin` [INFO] [stdout] --> src/com.rs:111:13 [INFO] [stdout] | [INFO] [stdout] 111 | let jann_bin = args.next(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_jann_bin` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/invoke.rs:79:33 [INFO] [stdout] | [INFO] [stdout] 79 | ... let mut node: inter::LinkNode = inv.art.node(*block_id); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/invoke.rs:165:13 [INFO] [stdout] | [INFO] [stdout] 165 | let mut main_line = self.index.get(inv.pl_name.as_str()).unwrap_or_else( | | { [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inv` [INFO] [stdout] --> src/exec.rs:20:30 [INFO] [stdout] | [INFO] [stdout] 20 | fn command<'inv, 'src: 'inv>(inv: &invoke::Invocation<'src>, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_inv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exec.rs:168:9 [INFO] [stdout] | [INFO] [stdout] 168 | let mut block_children = node.children(); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/exec.rs:206:17 [INFO] [stdout] | [INFO] [stdout] 206 | let name = &node.children()[1]; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src_cmps` [INFO] [stdout] --> src/deploy.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | let src_cmps: Vec = src.components().collect(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_cmps` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `rprint` is never used [INFO] [stdout] --> src/parse.rs:290:8 [INFO] [stdout] | [INFO] [stdout] 289 | impl ParseTreeNode { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 290 | fn rprint(&self, tree: &ParseTree, n: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print_tree` is never used [INFO] [stdout] --> src/parse.rs:330:12 [INFO] [stdout] | [INFO] [stdout] 303 | impl ParseTree { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 330 | pub fn print_tree(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `foreptr` is never read [INFO] [stdout] --> src/parse.rs:347:5 [INFO] [stdout] | [INFO] [stdout] 344 | struct Parser<'log, 'src: 'log> { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 347 | foreptr: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `peek` and `node` are never used [INFO] [stdout] --> src/parse.rs:393:8 [INFO] [stdout] | [INFO] [stdout] 352 | impl<'log, 'src> Parser<'log, 'src> { [INFO] [stdout] | ----------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 393 | fn peek(&mut self, n: usize) -> &Token<'src> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 410 | fn node(&mut self, parent: usize, nt: PTNodeType, tok_id: usize) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `component_string` is never used [INFO] [stdout] --> src/exec.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn component_string(c: &Component) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Name` and `JName` are never constructed [INFO] [stdout] --> src/inter.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum Value<'src> { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 9 | Name(&'src str), [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | JName(&'src str), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Value` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `expect_type` is never used [INFO] [stdout] --> src/inter.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'int, 'src: 'int> LinkNode<'int, 'src> { [INFO] [stdout] | ------------------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn expect_type(&self, nt: &PTNodeType) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/parse.rs:16:46 [INFO] [stdout] | [INFO] [stdout] 16 | fn single(src: &'src str, ptr: usize) -> Span { [INFO] [stdout] | ---- ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'src` [INFO] [stdout] | [INFO] [stdout] 16 | fn single(src: &'src str, ptr: usize) -> Span<'src> { [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/parse.rs:20:46 [INFO] [stdout] | [INFO] [stdout] 20 | fn begin(src: &'src str, lptr: usize) -> Span { [INFO] [stdout] | ---- ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'src` [INFO] [stdout] | [INFO] [stdout] 20 | fn begin(src: &'src str, lptr: usize) -> Span<'src> { [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/exec.rs:227:17 [INFO] [stdout] | [INFO] [stdout] 227 | env::set_current_dir(cur); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 227 | let _ = env::set_current_dir(cur); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NONE` should have a snake case name [INFO] [stdout] --> src/inter.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | let NONE = 0; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `none` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `LBRACE` should have a snake case name [INFO] [stdout] --> src/inter.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | let LBRACE = 1; [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `lbrace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `RBRACE` should have a snake case name [INFO] [stdout] --> src/inter.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | let RBRACE = 2; [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `rbrace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `WITHIN` should have a snake case name [INFO] [stdout] --> src/inter.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | let WITHIN = 3; [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `within` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/inter.rs:219:23 [INFO] [stdout] | [INFO] [stdout] 219 | _ => { panic!(format!("Bad Value {:?}", node.ptn.nt)); } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 219 - _ => { panic!(format!("Bad Value {:?}", node.ptn.nt)); } [INFO] [stdout] 219 + _ => { panic!("Bad Value {:?}", node.ptn.nt); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `OW_FF` should have a snake case name [INFO] [stdout] --> src/deploy.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub OW_FF: bool, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `ow_ff` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `OW_DD` should have a snake case name [INFO] [stdout] --> src/deploy.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub OW_DD: bool, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `ow_dd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `OW_FD` should have a snake case name [INFO] [stdout] --> src/deploy.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub OW_FD: bool, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `ow_fd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `OW_DF` should have a snake case name [INFO] [stdout] --> src/deploy.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub OW_DF: bool, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `ow_df` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `INTER` should have a snake case name [INFO] [stdout] --> src/deploy.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub INTER: bool, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `inter` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.63s [INFO] running `Command { std: "docker" "inspect" "0f98e53dd86eb0983ee0ae11f47f1f966fc0dd7232461e9c2e553504c6b8df7a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0f98e53dd86eb0983ee0ae11f47f1f966fc0dd7232461e9c2e553504c6b8df7a", kill_on_drop: false }` [INFO] [stdout] 0f98e53dd86eb0983ee0ae11f47f1f966fc0dd7232461e9c2e553504c6b8df7a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 2ba91d0f90017764f4ef224733cdec07157da7e04f661b6f6096b4f700438608 [INFO] running `Command { std: "docker" "start" "-a" "2ba91d0f90017764f4ef224733cdec07157da7e04f661b6f6096b4f700438608", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] warning: unused import: `std::path::PathBuf` [INFO] [stderr] --> src/main.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::path::PathBuf; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `util` [INFO] [stderr] --> src/com.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use util; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/com.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `PL_TAG` should have an upper camel case name [INFO] [stderr] --> src/com.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | PL_TAG(String, String), [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `PlTag` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variant `PL_STAGE` should have an upper camel case name [INFO] [stderr] --> src/com.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | PL_STAGE(String, String), [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper camel case: `PlStage` [INFO] [stderr] [INFO] [stderr] warning: variant `DO_STDIN` should have an upper camel case name [INFO] [stderr] --> src/com.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | DO_STDIN { switches: Switches }, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper camel case: `DoStdin` [INFO] [stderr] [INFO] [stderr] warning: variant `DO_FILE` should have an upper camel case name [INFO] [stderr] --> src/com.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | DO_FILE { switches: Switches, file: String }, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper camel case: `DoFile` [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ParseTreeNode`, `ParseTree`, `TokenType`, and `Token` [INFO] [stderr] --> src/invoke.rs:1:13 [INFO] [stderr] | [INFO] [stderr] 1 | use parse::{ParseTree, ParseTreeNode, PTNodeType, Token, TokenType}; [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ [INFO] [stdout] running 0 tests [INFO] [stderr] [INFO] [stdout] [INFO] [stderr] warning: unused import: `Path` [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stderr] --> src/exec.rs:6:17 [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] 6 | use std::path::{Path, PathBuf, Component}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs` [INFO] [stderr] --> src/exec.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::fs; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `parse` [INFO] [stderr] --> src/exec.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use parse; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TokenType` [INFO] [stderr] --> src/inter.rs:2:58 [INFO] [stderr] | [INFO] [stderr] 2 | use parse::{ParseTree, ParseTreeNode, PTNodeType, Token, TokenType}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `jann_bin` [INFO] [stderr] --> src/com.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | let jann_bin = args.next(); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_jann_bin` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/invoke.rs:79:33 [INFO] [stderr] | [INFO] [stderr] 79 | ... let mut node: inter::LinkNode = inv.art.node(*block_id); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/invoke.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | let mut main_line = self.index.get(inv.pl_name.as_str()).unwrap_or_else( | | { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `inv` [INFO] [stderr] --> src/exec.rs:20:30 [INFO] [stderr] | [INFO] [stderr] 20 | fn command<'inv, 'src: 'inv>(inv: &invoke::Invocation<'src>, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_inv` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/exec.rs:168:9 [INFO] [stderr] | [INFO] [stderr] 168 | let mut block_children = node.children(); [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/exec.rs:206:17 [INFO] [stderr] | [INFO] [stderr] 206 | let name = &node.children()[1]; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `src_cmps` [INFO] [stderr] --> src/deploy.rs:153:9 [INFO] [stderr] | [INFO] [stderr] 153 | let src_cmps: Vec = src.components().collect(); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_cmps` [INFO] [stderr] [INFO] [stderr] warning: method `rprint` is never used [INFO] [stderr] --> src/parse.rs:290:8 [INFO] [stderr] | [INFO] [stderr] 289 | impl ParseTreeNode { [INFO] [stderr] | ------------------ method in this implementation [INFO] [stderr] 290 | fn rprint(&self, tree: &ParseTree, n: usize) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: method `print_tree` is never used [INFO] [stderr] --> src/parse.rs:330:12 [INFO] [stderr] | [INFO] [stderr] 303 | impl ParseTree { [INFO] [stderr] | -------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 330 | pub fn print_tree(&self) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `foreptr` is never read [INFO] [stderr] --> src/parse.rs:347:5 [INFO] [stderr] | [INFO] [stderr] 344 | struct Parser<'log, 'src: 'log> { [INFO] [stderr] | ------ field in this struct [INFO] [stderr] ... [INFO] [stderr] 347 | foreptr: usize, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `peek` and `node` are never used [INFO] [stderr] --> src/parse.rs:393:8 [INFO] [stderr] | [INFO] [stderr] 352 | impl<'log, 'src> Parser<'log, 'src> { [INFO] [stderr] | ----------------------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 393 | fn peek(&mut self, n: usize) -> &Token<'src> { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 410 | fn node(&mut self, parent: usize, nt: PTNodeType, tok_id: usize) -> usize { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `component_string` is never used [INFO] [stderr] --> src/exec.rs:16:4 [INFO] [stderr] | [INFO] [stderr] 16 | fn component_string(c: &Component) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `Name` and `JName` are never constructed [INFO] [stderr] --> src/inter.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 6 | pub enum Value<'src> { [INFO] [stderr] | ----- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 9 | Name(&'src str), [INFO] [stderr] | ^^^^ [INFO] [stderr] 10 | JName(&'src str), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Value` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `expect_type` is never used [INFO] [stderr] --> src/inter.rs:61:12 [INFO] [stderr] | [INFO] [stderr] 46 | impl<'int, 'src: 'int> LinkNode<'int, 'src> { [INFO] [stderr] | ------------------------------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 61 | pub fn expect_type(&self, nt: &PTNodeType) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> src/parse.rs:16:46 [INFO] [stderr] | [INFO] [stderr] 16 | fn single(src: &'src str, ptr: usize) -> Span { [INFO] [stderr] | ---- ^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is named here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: consistently use `'src` [INFO] [stderr] | [INFO] [stderr] 16 | fn single(src: &'src str, ptr: usize) -> Span<'src> { [INFO] [stderr] | ++++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> src/parse.rs:20:46 [INFO] [stderr] | [INFO] [stderr] 20 | fn begin(src: &'src str, lptr: usize) -> Span { [INFO] [stderr] | ---- ^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is named here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: consistently use `'src` [INFO] [stderr] | [INFO] [stderr] 20 | fn begin(src: &'src str, lptr: usize) -> Span<'src> { [INFO] [stderr] | ++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/exec.rs:227:17 [INFO] [stderr] | [INFO] [stderr] 227 | env::set_current_dir(cur); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 227 | let _ = env::set_current_dir(cur); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: variable `NONE` should have a snake case name [INFO] [stderr] --> src/inter.rs:110:9 [INFO] [stderr] | [INFO] [stderr] 110 | let NONE = 0; [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `none` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable `LBRACE` should have a snake case name [INFO] [stderr] --> src/inter.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | let LBRACE = 1; [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `lbrace` [INFO] [stderr] [INFO] [stderr] warning: variable `RBRACE` should have a snake case name [INFO] [stderr] --> src/inter.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | let RBRACE = 2; [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `rbrace` [INFO] [stderr] [INFO] [stderr] warning: variable `WITHIN` should have a snake case name [INFO] [stderr] --> src/inter.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | let WITHIN = 3; [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `within` [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/inter.rs:219:23 [INFO] [stderr] | [INFO] [stderr] 219 | _ => { panic!(format!("Bad Value {:?}", node.ptn.nt)); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 219 - _ => { panic!(format!("Bad Value {:?}", node.ptn.nt)); } [INFO] [stderr] 219 + _ => { panic!("Bad Value {:?}", node.ptn.nt); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: structure field `OW_FF` should have a snake case name [INFO] [stderr] --> src/deploy.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | pub OW_FF: bool, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `ow_ff` [INFO] [stderr] [INFO] [stderr] warning: structure field `OW_DD` should have a snake case name [INFO] [stderr] --> src/deploy.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | pub OW_DD: bool, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `ow_dd` [INFO] [stderr] [INFO] [stderr] warning: structure field `OW_FD` should have a snake case name [INFO] [stderr] --> src/deploy.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | pub OW_FD: bool, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `ow_fd` [INFO] [stderr] [INFO] [stderr] warning: structure field `OW_DF` should have a snake case name [INFO] [stderr] --> src/deploy.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | pub OW_DF: bool, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `ow_df` [INFO] [stderr] [INFO] [stderr] warning: structure field `INTER` should have a snake case name [INFO] [stderr] --> src/deploy.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | pub INTER: bool, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `inter` [INFO] [stderr] [INFO] [stderr] warning: `jann` (bin "jann" test) generated 39 warnings (run `cargo fix --bin "jann" -p jann --tests` to apply 18 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/jann-a88bde3a86244a4f) [INFO] running `Command { std: "docker" "inspect" "2ba91d0f90017764f4ef224733cdec07157da7e04f661b6f6096b4f700438608", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2ba91d0f90017764f4ef224733cdec07157da7e04f661b6f6096b4f700438608", kill_on_drop: false }` [INFO] [stdout] 2ba91d0f90017764f4ef224733cdec07157da7e04f661b6f6096b4f700438608