[INFO] fetching crate ccdb 1.6.1...
[INFO] testing ccdb-1.6.1 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate ccdb 1.6.1 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate ccdb 1.6.1
[INFO] finished tweaking crates.io crate ccdb 1.6.1
[INFO] tweaked toml for crates.io crate ccdb 1.6.1 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ccdb 1.6.1 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 7 packages to latest compatible versions
[INFO] [stderr]       Adding openfile v1.1.0 (available: v2.1.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 02470de75a3691c7a526b2d48cb0ef148f578abfd6deb95efbaf5256fe1b9343
[INFO] running `Command { std: "docker" "start" "-a" "02470de75a3691c7a526b2d48cb0ef148f578abfd6deb95efbaf5256fe1b9343", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "02470de75a3691c7a526b2d48cb0ef148f578abfd6deb95efbaf5256fe1b9343", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "02470de75a3691c7a526b2d48cb0ef148f578abfd6deb95efbaf5256fe1b9343", kill_on_drop: false }`
[INFO] [stdout] 02470de75a3691c7a526b2d48cb0ef148f578abfd6deb95efbaf5256fe1b9343
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d391d4df8a95c4ab40f7b3bfebac31bfe71f2691a79c935f88e8eae6d95b29e4
[INFO] running `Command { std: "docker" "start" "-a" "d391d4df8a95c4ab40f7b3bfebac31bfe71f2691a79c935f88e8eae6d95b29e4", kill_on_drop: false }`
[INFO] [stderr]    Compiling openfile v1.1.0
[INFO] [stderr]    Compiling winapi-util v0.1.11
[INFO] [stderr]    Compiling ccdb v1.6.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `time`
[INFO] [stdout]  --> src/backend/a.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{thread, time};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `backend` should have an upper camel case name
[INFO] [stdout]   --> src/core.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum backend {
[INFO] [stdout]    |          ^^^^^^^ help: convert the identifier to upper camel case: `Backend`
[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: unused import: `crate::sys`
[INFO] [stdout]  --> src/libs/cursor.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::sys;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sys`
[INFO] [stdout]  --> src/libs/escape/escape.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::sys;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `linux`
[INFO] [stdout]   --> src/libs/keyin.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[cfg(linux)]
[INFO] [stdout]    |           ^^^^^ help: found config with similar value: `target_os = "linux"`
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(linux)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(linux)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `linux`
[INFO] [stdout]   --> src/libs/keyin.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |             #[cfg(linux)]
[INFO] [stdout]    |                   ^^^^^ help: found config with similar value: `target_os = "linux"`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(linux)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(linux)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `linux`
[INFO] [stdout]   --> src/libs/keyin.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |         if cfg!(linux) {
[INFO] [stdout]    |                 ^^^^^ help: found config with similar value: `target_os = "linux"`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(linux)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(linux)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `map` should have an upper camel case name
[INFO] [stdout]  --> src/map/loader.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct map {
[INFO] [stdout]   |            ^^^ help: convert the identifier to upper camel case: `Map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `folder` should have an upper camel case name
[INFO] [stdout]   --> src/map/loader.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct folder {
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Folder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `sprite` should have an upper camel case name
[INFO] [stdout]  --> src/map/sprite.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct sprite {
[INFO] [stdout]   |            ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sys`
[INFO] [stdout]  --> src/misc/check.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::sys;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `droplet` should have an upper camel case name
[INFO] [stdout]   --> src/physics/particle.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct droplet {
[INFO] [stdout]    |            ^^^^^^^ help: convert the identifier to upper camel case: `Droplet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `water` should have an upper camel case name
[INFO] [stdout]   --> src/physics/particle.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct water {
[INFO] [stdout]    |            ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Water`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::loader`
[INFO] [stdout]   --> src/test/test.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | use crate::loader;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/lib.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | mod test;
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `load`
[INFO] [stdout]   --> src/test/test.rs:7:21
[INFO] [stdout]    |
[INFO] [stdout]  7 | use crate::loader::{load, map, to_map}; // this is the loader which makes it so you can load a map from file or load a map from string
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/lib.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | mod test;
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sprite`
[INFO] [stdout]   --> src/test/test.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use crate::sprite; // for sprites
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/lib.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | mod test;
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/backend/b.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let mut run = true;
[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: unused variable: `screen`
[INFO] [stdout]   --> src/backend/b.rs:47:18
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn make_line(screen: &Screen, betterx: Vec<i64>, bettern: Vec<String>, size: i64) -> String {
[INFO] [stdout]    |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_screen`
[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/backend/a.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut chars = charss.clone();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/backend/a.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut xx = xxx.clone();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/backend/a.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let mut yy = yyy.clone();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/backend/a.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     for x in 0..thr {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `finals`
[INFO] [stdout]    --> src/backend/a.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let finals = rx.recv().unwrap();
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_finals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/core.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/core.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |             backend::A => return a::run(self, cort),
[INFO] [stdout]     |             ---------- matches some of the same values
[INFO] [stdout] 169 |             backend::B => return b::run(self, cort.lines, cort.char_x_line, cort),
[INFO] [stdout]     |             ---------- matches some of the same values
[INFO] [stdout] 170 |             backend::N => {
[INFO] [stdout]     |             ---------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 174 |             _ => {
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 |         let mut charss = self.chars.clone();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let mut xxx = self.x.clone();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |         let mut yyy = self.y.clone();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/libs/keyin.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     unsafe {
[INFO] [stdout]    |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/libs/keyin.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     unsafe {
[INFO] [stdout]    |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/physics/particle.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |             for p in 0..vl {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/test/test.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |             for x in 0..10 {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `v` and `debug` are never read
[INFO] [stdout]   --> src/core.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct Cort {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 33 |     name_desc: String,
[INFO] [stdout] 34 |     v: i64,
[INFO] [stdout]    |     ^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     debug: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getkey` is never used
[INFO] [stdout]  --> src/libs/keyin.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fn getkey() -> usize;
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOUNCE` is never used
[INFO] [stdout]  --> src/physics/particle.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const BOUNCE: i64 = 1;
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `t` is never used
[INFO] [stdout]   --> src/test/test.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn t() {
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_const` is never used
[INFO] [stdout]    --> src/test/test.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub fn check_const() {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Cort` should have a snake case name
[INFO] [stdout]  --> src/backend/b.rs:5:52
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn run(screen: &Screen, size: i64, size2: i64, Cort: &mut Cort) -> loader::map {
[INFO] [stdout]   |                                                    ^^^^ help: convert the identifier to snake case (notice the capitalization): `cort`
[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 `X` should have a snake case name
[INFO] [stdout]  --> src/backend/b.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut X = screen.x.clone(); // load in a sprite
[INFO] [stdout]   |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Y` should have a snake case name
[INFO] [stdout]  --> src/backend/b.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let mut Y = screen.y.clone();
[INFO] [stdout]   |             ^ help: convert the identifier to snake case (notice the capitalization): `y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C` should have a snake case name
[INFO] [stdout]  --> src/backend/b.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let mut C = screen.chars.clone();
[INFO] [stdout]   |             ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Cort` should have a snake case name
[INFO] [stdout]  --> src/backend/a.rs:8:29
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn run(screen: &Screen, Cort: &mut Cort) -> loader::map {
[INFO] [stdout]   |                             ^^^^ help: convert the identifier to snake case (notice the capitalization): `cort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P` should have a snake case name
[INFO] [stdout]   --> src/backend/a.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     for P in 0..thr as i64 {
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vectorY` should have a snake case name
[INFO] [stdout]   --> src/backend/a.rs:82:25
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let mut vectorY: Vec<String> = Vec::new();
[INFO] [stdout]    |                         ^^^^^^^ help: convert the identifier to snake case: `vector_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vectorX` should have a snake case name
[INFO] [stdout]   --> src/backend/a.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |                 let mut vectorX: Vec<i64> = Vec::new();
[INFO] [stdout]    |                         ^^^^^^^ help: convert the identifier to snake case: `vector_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Screen` should have a snake case name
[INFO] [stdout]    --> src/core.rs:104:30
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn render(&mut self, Screen: &mut Screen) -> String {
[INFO] [stdout]     |                              ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `screen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_physics_for_all_X` should have a snake case name
[INFO] [stdout]    --> src/core.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn add_physics_for_all_X(&mut self, Screen: &Screen, chr: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `add_physics_for_all_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Screen` should have a snake case name
[INFO] [stdout]    --> src/core.rs:142:45
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn add_physics_for_all_X(&mut self, Screen: &Screen, chr: String) {
[INFO] [stdout]     |                                             ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `screen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove_physics_for_all_X` should have a snake case name
[INFO] [stdout]    --> src/core.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub fn remove_physics_for_all_X(&mut self, Screen: &Screen, chr: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `remove_physics_for_all_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Screen` should have a snake case name
[INFO] [stdout]    --> src/core.rs:154:48
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub fn remove_physics_for_all_X(&mut self, Screen: &Screen, chr: String) {
[INFO] [stdout]     |                                                ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `screen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_X` should have a snake case name
[INFO] [stdout]    --> src/core.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout] 230 |     pub fn find_X(&self, ch: String) -> i64 {
[INFO] [stdout]     |            ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `find_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_all_of_X` should have a snake case name
[INFO] [stdout]    --> src/core.rs:239:12
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn find_all_of_X(&self, ch: String) -> Vec<i64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `find_all_of_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_all_of_X` should have a snake case name
[INFO] [stdout]   --> src/map/loader.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn find_all_of_X(&self, ch: String) -> Vec<i64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `find_all_of_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `forceDown` should have a snake case name
[INFO] [stdout]   --> src/physics/particle.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub forceDown: bool,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `force_down`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `G` should have a snake case name
[INFO] [stdout]  --> src/physics/physics.rs:6:69
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn render_physics(screen: &mut core::Screen, physobj: Vec<i64>, G: i64) {
[INFO] [stdout]   |                                                                     ^ help: convert the identifier to snake case: `g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.30s
[INFO] running `Command { std: "docker" "inspect" "d391d4df8a95c4ab40f7b3bfebac31bfe71f2691a79c935f88e8eae6d95b29e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d391d4df8a95c4ab40f7b3bfebac31bfe71f2691a79c935f88e8eae6d95b29e4", kill_on_drop: false }`
[INFO] [stdout] d391d4df8a95c4ab40f7b3bfebac31bfe71f2691a79c935f88e8eae6d95b29e4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c429a737fbe28cffad27b3953d0d9f4648ebed569a0f1e886a9354cec02f4da4
[INFO] running `Command { std: "docker" "start" "-a" "c429a737fbe28cffad27b3953d0d9f4648ebed569a0f1e886a9354cec02f4da4", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `time`
[INFO] [stdout]  --> src/backend/a.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{thread, time};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `backend` should have an upper camel case name
[INFO] [stdout]   --> src/core.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum backend {
[INFO] [stdout]    |          ^^^^^^^ help: convert the identifier to upper camel case: `Backend`
[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: unused import: `crate::sys`
[INFO] [stdout]  --> src/libs/cursor.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::sys;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sys`
[INFO] [stdout]  --> src/libs/escape/escape.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::sys;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `linux`
[INFO] [stdout]   --> src/libs/keyin.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[cfg(linux)]
[INFO] [stdout]    |           ^^^^^ help: found config with similar value: `target_os = "linux"`
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(linux)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(linux)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `linux`
[INFO] [stdout]   --> src/libs/keyin.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |             #[cfg(linux)]
[INFO] [stdout]    |                   ^^^^^ help: found config with similar value: `target_os = "linux"`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(linux)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(linux)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `linux`
[INFO] [stdout]   --> src/libs/keyin.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |         if cfg!(linux) {
[INFO] [stdout]    |                 ^^^^^ help: found config with similar value: `target_os = "linux"`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(linux)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(linux)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `map` should have an upper camel case name
[INFO] [stdout]  --> src/map/loader.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct map {
[INFO] [stdout]   |            ^^^ help: convert the identifier to upper camel case: `Map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `folder` should have an upper camel case name
[INFO] [stdout]   --> src/map/loader.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct folder {
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Folder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `sprite` should have an upper camel case name
[INFO] [stdout]  --> src/map/sprite.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct sprite {
[INFO] [stdout]   |            ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sys`
[INFO] [stdout]  --> src/misc/check.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::sys;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `droplet` should have an upper camel case name
[INFO] [stdout]   --> src/physics/particle.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct droplet {
[INFO] [stdout]    |            ^^^^^^^ help: convert the identifier to upper camel case: `Droplet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `water` should have an upper camel case name
[INFO] [stdout]   --> src/physics/particle.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct water {
[INFO] [stdout]    |            ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Water`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::loader`
[INFO] [stdout]   --> src/test/test.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | use crate::loader;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/lib.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | mod test;
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `load`
[INFO] [stdout]   --> src/test/test.rs:7:21
[INFO] [stdout]    |
[INFO] [stdout]  7 | use crate::loader::{load, map, to_map}; // this is the loader which makes it so you can load a map from file or load a map from string
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/lib.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | mod test;
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sprite`
[INFO] [stdout]   --> src/test/test.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use crate::sprite; // for sprites
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/lib.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | mod test;
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/backend/b.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let mut run = true;
[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: unused variable: `screen`
[INFO] [stdout]   --> src/backend/b.rs:47:18
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn make_line(screen: &Screen, betterx: Vec<i64>, bettern: Vec<String>, size: i64) -> String {
[INFO] [stdout]    |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_screen`
[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/backend/a.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut chars = charss.clone();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/backend/a.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut xx = xxx.clone();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/backend/a.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let mut yy = yyy.clone();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/backend/a.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     for x in 0..thr {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `finals`
[INFO] [stdout]    --> src/backend/a.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let finals = rx.recv().unwrap();
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_finals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/core.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/core.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |             backend::A => return a::run(self, cort),
[INFO] [stdout]     |             ---------- matches some of the same values
[INFO] [stdout] 169 |             backend::B => return b::run(self, cort.lines, cort.char_x_line, cort),
[INFO] [stdout]     |             ---------- matches some of the same values
[INFO] [stdout] 170 |             backend::N => {
[INFO] [stdout]     |             ---------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 174 |             _ => {
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 |         let mut charss = self.chars.clone();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let mut xxx = self.x.clone();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |         let mut yyy = self.y.clone();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/libs/keyin.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     unsafe {
[INFO] [stdout]    |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/libs/keyin.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     unsafe {
[INFO] [stdout]    |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/physics/particle.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |             for p in 0..vl {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/test/test.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |             for x in 0..10 {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `v` and `debug` are never read
[INFO] [stdout]   --> src/core.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct Cort {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 33 |     name_desc: String,
[INFO] [stdout] 34 |     v: i64,
[INFO] [stdout]    |     ^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     debug: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getkey` is never used
[INFO] [stdout]  --> src/libs/keyin.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fn getkey() -> usize;
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOUNCE` is never used
[INFO] [stdout]  --> src/physics/particle.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const BOUNCE: i64 = 1;
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `t` is never used
[INFO] [stdout]   --> src/test/test.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn t() {
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_const` is never used
[INFO] [stdout]    --> src/test/test.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub fn check_const() {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Cort` should have a snake case name
[INFO] [stdout]  --> src/backend/b.rs:5:52
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn run(screen: &Screen, size: i64, size2: i64, Cort: &mut Cort) -> loader::map {
[INFO] [stdout]   |                                                    ^^^^ help: convert the identifier to snake case (notice the capitalization): `cort`
[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 `X` should have a snake case name
[INFO] [stdout]  --> src/backend/b.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut X = screen.x.clone(); // load in a sprite
[INFO] [stdout]   |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Y` should have a snake case name
[INFO] [stdout]  --> src/backend/b.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let mut Y = screen.y.clone();
[INFO] [stdout]   |             ^ help: convert the identifier to snake case (notice the capitalization): `y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C` should have a snake case name
[INFO] [stdout]  --> src/backend/b.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let mut C = screen.chars.clone();
[INFO] [stdout]   |             ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ccdb v1.6.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable `Cort` should have a snake case name
[INFO] [stdout]  --> src/backend/a.rs:8:29
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn run(screen: &Screen, Cort: &mut Cort) -> loader::map {
[INFO] [stdout]   |                             ^^^^ help: convert the identifier to snake case (notice the capitalization): `cort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P` should have a snake case name
[INFO] [stdout]   --> src/backend/a.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     for P in 0..thr as i64 {
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vectorY` should have a snake case name
[INFO] [stdout]   --> src/backend/a.rs:82:25
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let mut vectorY: Vec<String> = Vec::new();
[INFO] [stdout]    |                         ^^^^^^^ help: convert the identifier to snake case: `vector_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vectorX` should have a snake case name
[INFO] [stdout]   --> src/backend/a.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |                 let mut vectorX: Vec<i64> = Vec::new();
[INFO] [stdout]    |                         ^^^^^^^ help: convert the identifier to snake case: `vector_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Screen` should have a snake case name
[INFO] [stdout]    --> src/core.rs:104:30
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn render(&mut self, Screen: &mut Screen) -> String {
[INFO] [stdout]     |                              ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `screen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_physics_for_all_X` should have a snake case name
[INFO] [stdout]    --> src/core.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn add_physics_for_all_X(&mut self, Screen: &Screen, chr: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `add_physics_for_all_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Screen` should have a snake case name
[INFO] [stdout]    --> src/core.rs:142:45
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn add_physics_for_all_X(&mut self, Screen: &Screen, chr: String) {
[INFO] [stdout]     |                                             ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `screen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove_physics_for_all_X` should have a snake case name
[INFO] [stdout]    --> src/core.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub fn remove_physics_for_all_X(&mut self, Screen: &Screen, chr: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `remove_physics_for_all_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Screen` should have a snake case name
[INFO] [stdout]    --> src/core.rs:154:48
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub fn remove_physics_for_all_X(&mut self, Screen: &Screen, chr: String) {
[INFO] [stdout]     |                                                ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `screen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_X` should have a snake case name
[INFO] [stdout]    --> src/core.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout] 230 |     pub fn find_X(&self, ch: String) -> i64 {
[INFO] [stdout]     |            ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `find_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_all_of_X` should have a snake case name
[INFO] [stdout]    --> src/core.rs:239:12
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn find_all_of_X(&self, ch: String) -> Vec<i64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `find_all_of_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_all_of_X` should have a snake case name
[INFO] [stdout]   --> src/map/loader.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn find_all_of_X(&self, ch: String) -> Vec<i64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `find_all_of_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `forceDown` should have a snake case name
[INFO] [stdout]   --> src/physics/particle.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub forceDown: bool,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `force_down`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `G` should have a snake case name
[INFO] [stdout]  --> src/physics/physics.rs:6:69
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn render_physics(screen: &mut core::Screen, physobj: Vec<i64>, G: i64) {
[INFO] [stdout]   |                                                                     ^ help: convert the identifier to snake case: `g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `time`
[INFO] [stdout]  --> src/backend/a.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{thread, time};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `backend` should have an upper camel case name
[INFO] [stdout]   --> src/core.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum backend {
[INFO] [stdout]    |          ^^^^^^^ help: convert the identifier to upper camel case: `Backend`
[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: unused import: `crate::sys`
[INFO] [stdout]  --> src/libs/cursor.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::sys;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sys`
[INFO] [stdout]  --> src/libs/escape/escape.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::sys;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `linux`
[INFO] [stdout]   --> src/libs/keyin.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[cfg(linux)]
[INFO] [stdout]    |           ^^^^^ help: found config with similar value: `target_os = "linux"`
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(linux)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(linux)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `linux`
[INFO] [stdout]   --> src/libs/keyin.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |             #[cfg(linux)]
[INFO] [stdout]    |                   ^^^^^ help: found config with similar value: `target_os = "linux"`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(linux)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(linux)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `linux`
[INFO] [stdout]   --> src/libs/keyin.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |         if cfg!(linux) {
[INFO] [stdout]    |                 ^^^^^ help: found config with similar value: `target_os = "linux"`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(linux)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(linux)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `map` should have an upper camel case name
[INFO] [stdout]  --> src/map/loader.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct map {
[INFO] [stdout]   |            ^^^ help: convert the identifier to upper camel case: `Map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `folder` should have an upper camel case name
[INFO] [stdout]   --> src/map/loader.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct folder {
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Folder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `sprite` should have an upper camel case name
[INFO] [stdout]  --> src/map/sprite.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct sprite {
[INFO] [stdout]   |            ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sys`
[INFO] [stdout]  --> src/misc/check.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::sys;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `droplet` should have an upper camel case name
[INFO] [stdout]   --> src/physics/particle.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct droplet {
[INFO] [stdout]    |            ^^^^^^^ help: convert the identifier to upper camel case: `Droplet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `water` should have an upper camel case name
[INFO] [stdout]   --> src/physics/particle.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct water {
[INFO] [stdout]    |            ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Water`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::loader`
[INFO] [stdout]  --> src/test/test.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::loader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `load`
[INFO] [stdout]  --> src/test/test.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::loader::{load, map, to_map}; // this is the loader which makes it so you can load a map from file or load a map from string
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sprite`
[INFO] [stdout]  --> src/test/test.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::sprite; // for sprites
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/backend/b.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let mut run = true;
[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: unused variable: `screen`
[INFO] [stdout]   --> src/backend/b.rs:47:18
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn make_line(screen: &Screen, betterx: Vec<i64>, bettern: Vec<String>, size: i64) -> String {
[INFO] [stdout]    |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_screen`
[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/backend/a.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut chars = charss.clone();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/backend/a.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut xx = xxx.clone();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/backend/a.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let mut yy = yyy.clone();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/backend/a.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     for x in 0..thr {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `finals`
[INFO] [stdout]    --> src/backend/a.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let finals = rx.recv().unwrap();
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_finals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/core.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/core.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |             backend::A => return a::run(self, cort),
[INFO] [stdout]     |             ---------- matches some of the same values
[INFO] [stdout] 169 |             backend::B => return b::run(self, cort.lines, cort.char_x_line, cort),
[INFO] [stdout]     |             ---------- matches some of the same values
[INFO] [stdout] 170 |             backend::N => {
[INFO] [stdout]     |             ---------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 174 |             _ => {
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 |         let mut charss = self.chars.clone();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let mut xxx = self.x.clone();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |         let mut yyy = self.y.clone();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/libs/keyin.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     unsafe {
[INFO] [stdout]    |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/libs/keyin.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     unsafe {
[INFO] [stdout]    |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/physics/particle.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |             for p in 0..vl {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/test/test.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |             for x in 0..10 {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `v` and `debug` are never read
[INFO] [stdout]   --> src/core.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct Cort {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 33 |     name_desc: String,
[INFO] [stdout] 34 |     v: i64,
[INFO] [stdout]    |     ^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     debug: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getkey` is never used
[INFO] [stdout]  --> src/libs/keyin.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fn getkey() -> usize;
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOUNCE` is never used
[INFO] [stdout]  --> src/physics/particle.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const BOUNCE: i64 = 1;
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Cort` should have a snake case name
[INFO] [stdout]  --> src/backend/b.rs:5:52
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn run(screen: &Screen, size: i64, size2: i64, Cort: &mut Cort) -> loader::map {
[INFO] [stdout]   |                                                    ^^^^ help: convert the identifier to snake case (notice the capitalization): `cort`
[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 `X` should have a snake case name
[INFO] [stdout]  --> src/backend/b.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut X = screen.x.clone(); // load in a sprite
[INFO] [stdout]   |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Y` should have a snake case name
[INFO] [stdout]  --> src/backend/b.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let mut Y = screen.y.clone();
[INFO] [stdout]   |             ^ help: convert the identifier to snake case (notice the capitalization): `y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C` should have a snake case name
[INFO] [stdout]  --> src/backend/b.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let mut C = screen.chars.clone();
[INFO] [stdout]   |             ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Cort` should have a snake case name
[INFO] [stdout]  --> src/backend/a.rs:8:29
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn run(screen: &Screen, Cort: &mut Cort) -> loader::map {
[INFO] [stdout]   |                             ^^^^ help: convert the identifier to snake case (notice the capitalization): `cort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P` should have a snake case name
[INFO] [stdout]   --> src/backend/a.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     for P in 0..thr as i64 {
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vectorY` should have a snake case name
[INFO] [stdout]   --> src/backend/a.rs:82:25
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let mut vectorY: Vec<String> = Vec::new();
[INFO] [stdout]    |                         ^^^^^^^ help: convert the identifier to snake case: `vector_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vectorX` should have a snake case name
[INFO] [stdout]   --> src/backend/a.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |                 let mut vectorX: Vec<i64> = Vec::new();
[INFO] [stdout]    |                         ^^^^^^^ help: convert the identifier to snake case: `vector_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Screen` should have a snake case name
[INFO] [stdout]    --> src/core.rs:104:30
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn render(&mut self, Screen: &mut Screen) -> String {
[INFO] [stdout]     |                              ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `screen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_physics_for_all_X` should have a snake case name
[INFO] [stdout]    --> src/core.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn add_physics_for_all_X(&mut self, Screen: &Screen, chr: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `add_physics_for_all_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Screen` should have a snake case name
[INFO] [stdout]    --> src/core.rs:142:45
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn add_physics_for_all_X(&mut self, Screen: &Screen, chr: String) {
[INFO] [stdout]     |                                             ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `screen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove_physics_for_all_X` should have a snake case name
[INFO] [stdout]    --> src/core.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub fn remove_physics_for_all_X(&mut self, Screen: &Screen, chr: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `remove_physics_for_all_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Screen` should have a snake case name
[INFO] [stdout]    --> src/core.rs:154:48
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub fn remove_physics_for_all_X(&mut self, Screen: &Screen, chr: String) {
[INFO] [stdout]     |                                                ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `screen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_X` should have a snake case name
[INFO] [stdout]    --> src/core.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout] 230 |     pub fn find_X(&self, ch: String) -> i64 {
[INFO] [stdout]     |            ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `find_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_all_of_X` should have a snake case name
[INFO] [stdout]    --> src/core.rs:239:12
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn find_all_of_X(&self, ch: String) -> Vec<i64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `find_all_of_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_all_of_X` should have a snake case name
[INFO] [stdout]   --> src/map/loader.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn find_all_of_X(&self, ch: String) -> Vec<i64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `find_all_of_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `forceDown` should have a snake case name
[INFO] [stdout]   --> src/physics/particle.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub forceDown: bool,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `force_down`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `G` should have a snake case name
[INFO] [stdout]  --> src/physics/physics.rs:6:69
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn render_physics(screen: &mut core::Screen, physobj: Vec<i64>, G: i64) {
[INFO] [stdout]   |                                                                     ^ help: convert the identifier to snake case: `g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.98s
[INFO] running `Command { std: "docker" "inspect" "c429a737fbe28cffad27b3953d0d9f4648ebed569a0f1e886a9354cec02f4da4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c429a737fbe28cffad27b3953d0d9f4648ebed569a0f1e886a9354cec02f4da4", kill_on_drop: false }`
[INFO] [stdout] c429a737fbe28cffad27b3953d0d9f4648ebed569a0f1e886a9354cec02f4da4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 42cc3162b4d94c742ec0445390b15d382bc810b77e5561d23ad58925a836fd13
[INFO] running `Command { std: "docker" "start" "-a" "42cc3162b4d94c742ec0445390b15d382bc810b77e5561d23ad58925a836fd13", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `time`
[INFO] [stderr]  --> src/backend/a.rs:6:19
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::{thread, time};
[INFO] [stderr]   |                   ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `backend` should have an upper camel case name
[INFO] [stderr]   --> src/core.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub enum backend {
[INFO] [stderr]    |          ^^^^^^^ help: convert the identifier to upper camel case: `Backend`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::sys`
[INFO] [stderr]  --> src/libs/cursor.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::sys;
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::sys`
[INFO] [stderr]  --> src/libs/escape/escape.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::sys;
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `linux`
[INFO] [stderr]   --> src/libs/keyin.rs:26:11
[INFO] [stderr]    |
[INFO] [stderr] 26 |     #[cfg(linux)]
[INFO] [stderr]    |           ^^^^^ help: found config with similar value: `target_os = "linux"`
[INFO] [stderr]    |
[INFO] [stderr]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stderr]    = help: consider using a Cargo feature instead
[INFO] [stderr]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]             [lints.rust]
[INFO] [stderr]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(linux)'] }
[INFO] [stderr]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(linux)");` to the top of the `build.rs`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `linux`
[INFO] [stderr]   --> src/libs/keyin.rs:33:19
[INFO] [stderr]    |
[INFO] [stderr] 33 |             #[cfg(linux)]
[INFO] [stderr]    |                   ^^^^^ help: found config with similar value: `target_os = "linux"`
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider using a Cargo feature instead
[INFO] [stderr]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]             [lints.rust]
[INFO] [stderr]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(linux)'] }
[INFO] [stderr]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(linux)");` to the top of the `build.rs`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `linux`
[INFO] [stderr]   --> src/libs/keyin.rs:32:17
[INFO] [stderr]    |
[INFO] [stderr] 32 |         if cfg!(linux) {
[INFO] [stderr]    |                 ^^^^^ help: found config with similar value: `target_os = "linux"`
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider using a Cargo feature instead
[INFO] [stderr]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]             [lints.rust]
[INFO] [stderr]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(linux)'] }
[INFO] [stderr]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(linux)");` to the top of the `build.rs`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: type `map` should have an upper camel case name
[INFO] [stderr]  --> src/map/loader.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct map {
[INFO] [stderr]   |            ^^^ help: convert the identifier to upper camel case: `Map`
[INFO] [stderr] 
[INFO] [stderr] warning: type `folder` should have an upper camel case name
[INFO] [stderr]   --> src/map/loader.rs:82:12
[INFO] [stderr]    |
[INFO] [stderr] 82 | pub struct folder {
[INFO] [stderr]    |            ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Folder`
[INFO] [stderr] 
[INFO] [stderr] warning: type `sprite` should have an upper camel case name
[INFO] [stderr]  --> src/map/sprite.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct sprite {
[INFO] [stderr]   |            ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Sprite`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::sys`
[INFO] [stderr]  --> src/misc/check.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::sys;
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `droplet` should have an upper camel case name
[INFO] [stderr]   --> src/physics/particle.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct droplet {
[INFO] [stderr]    |            ^^^^^^^ help: convert the identifier to upper camel case: `Droplet`
[INFO] [stderr] 
[INFO] [stderr] warning: type `water` should have an upper camel case name
[INFO] [stderr]   --> src/physics/particle.rs:25:12
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub struct water {
[INFO] [stderr]    |            ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Water`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::loader`
[INFO] [stderr]   --> src/test/test.rs:6:5
[INFO] [stderr]    |
[INFO] [stderr]  6 | use crate::loader;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stderr]   --> src/lib.rs:51:1
[INFO] [stderr]    |
[INFO] [stderr] 51 | mod test;
[INFO] [stderr]    | ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `load`
[INFO] [stderr]   --> src/test/test.rs:7:21
[INFO] [stderr]    |
[INFO] [stderr]  7 | use crate::loader::{load, map, to_map}; // this is the loader which makes it so you can load a map from file or load a map from string
[INFO] [stderr]    |                     ^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stderr]   --> src/lib.rs:51:1
[INFO] [stderr]    |
[INFO] [stderr] 51 | mod test;
[INFO] [stderr]    | ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::sprite`
[INFO] [stderr]   --> src/test/test.rs:9:5
[INFO] [stderr]    |
[INFO] [stderr]  9 | use crate::sprite; // for sprites
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stderr]   --> src/lib.rs:51:1
[INFO] [stderr]    |
[INFO] [stderr] 51 | mod test;
[INFO] [stderr]    | ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/backend/b.rs:54:13
[INFO] [stderr]    |
[INFO] [stderr] 54 |         let mut run = true;
[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: unused variable: `screen`
[INFO] [stderr]   --> src/backend/b.rs:47:18
[INFO] [stderr]    |
[INFO] [stderr] 47 | pub fn make_line(screen: &Screen, betterx: Vec<i64>, bettern: Vec<String>, size: i64) -> String {
[INFO] [stderr]    |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_screen`
[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/backend/a.rs:44:13
[INFO] [stderr]    |
[INFO] [stderr] 44 |         let mut chars = charss.clone();
[INFO] [stderr]    |             ----^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/backend/a.rs:45:13
[INFO] [stderr]    |
[INFO] [stderr] 45 |         let mut xx = xxx.clone();
[INFO] [stderr]    |             ----^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/backend/a.rs:46:13
[INFO] [stderr]    |
[INFO] [stderr] 46 |         let mut yy = yyy.clone();
[INFO] [stderr]    |             ----^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> src/backend/a.rs:32:9
[INFO] [stderr]    |
[INFO] [stderr] 32 |     for x in 0..thr {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `finals`
[INFO] [stderr]    --> src/backend/a.rs:131:9
[INFO] [stderr]     |
[INFO] [stderr] 131 |     let finals = rx.recv().unwrap();
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_finals`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/core.rs:174:13
[INFO] [stderr]     |
[INFO] [stderr] 174 |             _ => {
[INFO] [stderr]     |             ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/core.rs:174:13
[INFO] [stderr]     |
[INFO] [stderr] 168 |             backend::A => return a::run(self, cort),
[INFO] [stderr]     |             ---------- matches some of the same values
[INFO] [stderr] 169 |             backend::B => return b::run(self, cort.lines, cort.char_x_line, cort),
[INFO] [stderr]     |             ---------- matches some of the same values
[INFO] [stderr] 170 |             backend::N => {
[INFO] [stderr]     |             ---------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 174 |             _ => {
[INFO] [stderr]     |             ^ collectively making this unreachable
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core.rs:197:13
[INFO] [stderr]     |
[INFO] [stderr] 197 |         let mut charss = self.chars.clone();
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core.rs:198:13
[INFO] [stderr]     |
[INFO] [stderr] 198 |         let mut xxx = self.x.clone();
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core.rs:199:13
[INFO] [stderr]     |
[INFO] [stderr] 199 |         let mut yyy = self.y.clone();
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> src/libs/keyin.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     unsafe {
[INFO] [stderr]    |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> src/libs/keyin.rs:31:5
[INFO] [stderr]    |
[INFO] [stderr] 31 |     unsafe {
[INFO] [stderr]    |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `p`
[INFO] [stderr]   --> src/physics/particle.rs:67:17
[INFO] [stderr]    |
[INFO] [stderr] 67 |             for p in 0..vl {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/test/test.rs:118:17
[INFO] [stderr]     |
[INFO] [stderr] 118 |             for x in 0..10 {
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `v` and `debug` are never read
[INFO] [stderr]   --> src/core.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub struct Cort {
[INFO] [stderr]    |            ---- fields in this struct
[INFO] [stderr] 33 |     name_desc: String,
[INFO] [stderr] 34 |     v: i64,
[INFO] [stderr]    |     ^
[INFO] [stderr] ...
[INFO] [stderr] 42 |     debug: bool,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `getkey` is never used
[INFO] [stderr]  --> src/libs/keyin.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 |     fn getkey() -> usize;
[INFO] [stderr]   |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BOUNCE` is never used
[INFO] [stderr]  --> src/physics/particle.rs:4:7
[INFO] [stderr]   |
[INFO] [stderr] 4 | const BOUNCE: i64 = 1;
[INFO] [stderr]   |       ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `t` is never used
[INFO] [stderr]   --> src/test/test.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn t() {
[INFO] [stderr]    |        ^
[INFO] [stderr] 
[INFO] [stderr] warning: function `check_const` is never used
[INFO] [stderr]    --> src/test/test.rs:129:8
[INFO] [stderr]     |
[INFO] [stderr] 129 | pub fn check_const() {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Cort` should have a snake case name
[INFO] [stderr]  --> src/backend/b.rs:5:52
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn run(screen: &Screen, size: i64, size2: i64, Cort: &mut Cort) -> loader::map {
[INFO] [stderr]   |                                                    ^^^^ help: convert the identifier to snake case (notice the capitalization): `cort`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]  --> src/backend/b.rs:7:13
[INFO] [stderr]   |
[INFO] [stderr] 7 |     let mut X = screen.x.clone(); // load in a sprite
[INFO] [stderr]   |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Y` should have a snake case name
[INFO] [stderr]  --> src/backend/b.rs:8:13
[INFO] [stderr]   |
[INFO] [stderr] 8 |     let mut Y = screen.y.clone();
[INFO] [stderr]   |             ^ help: convert the identifier to snake case (notice the capitalization): `y`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `C` should have a snake case name
[INFO] [stderr]  --> src/backend/b.rs:9:13
[INFO] [stderr]   |
[INFO] [stderr] 9 |     let mut C = screen.chars.clone();
[INFO] [stderr]   |             ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Cort` should have a snake case name
[INFO] [stderr]  --> src/backend/a.rs:8:29
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn run(screen: &Screen, Cort: &mut Cort) -> loader::map {
[INFO] [stderr]   |                             ^^^^ help: convert the identifier to snake case (notice the capitalization): `cort`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `P` should have a snake case name
[INFO] [stderr]   --> src/backend/a.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 38 |     for P in 0..thr as i64 {
[INFO] [stderr]    |         ^ help: convert the identifier to snake case: `p`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `vectorY` should have a snake case name
[INFO] [stderr]   --> src/backend/a.rs:82:25
[INFO] [stderr]    |
[INFO] [stderr] 82 |                 let mut vectorY: Vec<String> = Vec::new();
[INFO] [stderr]    |                         ^^^^^^^ help: convert the identifier to snake case: `vector_y`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `vectorX` should have a snake case name
[INFO] [stderr]   --> src/backend/a.rs:83:25
[INFO] [stderr]    |
[INFO] [stderr] 83 |                 let mut vectorX: Vec<i64> = Vec::new();
[INFO] [stderr]    |                         ^^^^^^^ help: convert the identifier to snake case: `vector_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Screen` should have a snake case name
[INFO] [stderr]    --> src/core.rs:104:30
[INFO] [stderr]     |
[INFO] [stderr] 104 |     pub fn render(&mut self, Screen: &mut Screen) -> String {
[INFO] [stderr]     |                              ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `screen`
[INFO] [stderr] 
[INFO] [stderr] warning: method `add_physics_for_all_X` should have a snake case name
[INFO] [stderr]    --> src/core.rs:142:12
[INFO] [stderr]     |
[INFO] [stderr] 142 |     pub fn add_physics_for_all_X(&mut self, Screen: &Screen, chr: String) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `add_physics_for_all_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Screen` should have a snake case name
[INFO] [stderr]    --> src/core.rs:142:45
[INFO] [stderr]     |
[INFO] [stderr] 142 |     pub fn add_physics_for_all_X(&mut self, Screen: &Screen, chr: String) {
[INFO] [stderr]     |                                             ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `screen`
[INFO] [stderr] 
[INFO] [stderr] warning: method `remove_physics_for_all_X` should have a snake case name
[INFO] [stderr]    --> src/core.rs:154:12
[INFO] [stderr]     |
[INFO] [stderr] 154 |     pub fn remove_physics_for_all_X(&mut self, Screen: &Screen, chr: String) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `remove_physics_for_all_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Screen` should have a snake case name
[INFO] [stderr]    --> src/core.rs:154:48
[INFO] [stderr]     |
[INFO] [stderr] 154 |     pub fn remove_physics_for_all_X(&mut self, Screen: &Screen, chr: String) {
[INFO] [stderr]     |                                                ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `screen`
[INFO] [stderr] 
[INFO] [stderr] warning: method `find_X` should have a snake case name
[INFO] [stderr]    --> src/core.rs:230:12
[INFO] [stderr]     |
[INFO] [stderr] 230 |     pub fn find_X(&self, ch: String) -> i64 {
[INFO] [stderr]     |            ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `find_x`
[INFO] [stderr] 
[INFO] [stderr] warning: method `find_all_of_X` should have a snake case name
[INFO] [stderr]    --> src/core.rs:239:12
[INFO] [stderr]     |
[INFO] [stderr] 239 |     pub fn find_all_of_X(&self, ch: String) -> Vec<i64> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `find_all_of_x`
[INFO] [stderr] 
[INFO] [stderr] warning: method `find_all_of_X` should have a snake case name
[INFO] [stderr]   --> src/map/loader.rs:26:12
[INFO] [stderr]    |
[INFO] [stderr] 26 |     pub fn find_all_of_X(&self, ch: String) -> Vec<i64> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `find_all_of_x`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `forceDown` should have a snake case name
[INFO] [stderr]   --> src/physics/particle.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |     pub forceDown: bool,
[INFO] [stderr]    |         ^^^^^^^^^ help: convert the identifier to snake case: `force_down`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `G` should have a snake case name
[INFO] [stderr]  --> src/physics/physics.rs:6:69
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn render_physics(screen: &mut core::Screen, physobj: Vec<i64>, G: i64) {
[INFO] [stderr]   |                                                                     ^ help: convert the identifier to snake case: `g`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::loader`
[INFO] [stderr]  --> src/test/test.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::loader;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `load`
[INFO] [stderr]  --> src/test/test.rs:7:21
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::loader::{load, map, to_map}; // this is the loader which makes it so you can load a map from file or load a map from string
[INFO] [stderr]   |                     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::sprite`
[INFO] [stderr]  --> src/test/test.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::sprite; // for sprites
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `ccdb` (lib) generated 54 warnings (run `cargo fix --lib -p ccdb` to apply 19 suggestions)
[INFO] [stderr] warning: `ccdb` (lib test) generated 52 warnings (49 duplicates) (run `cargo fix --lib -p ccdb --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ccdb-4ca35cd77e0f46e7)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test2 ... ok
[INFO] [stderr]    Doc-tests ccdb
[INFO] [stdout] test tests::test ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr] warning: type `backend` should have an upper camel case name
[INFO] [stderr]   --> src/core.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub enum backend {
[INFO] [stderr]    |          ^^^^^^^ help: convert the identifier to upper camel case: `Backend`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `map` should have an upper camel case name
[INFO] [stderr]  --> src/map/loader.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct map {
[INFO] [stderr]   |            ^^^ help: convert the identifier to upper camel case: `Map`
[INFO] [stderr] 
[INFO] [stderr] warning: type `folder` should have an upper camel case name
[INFO] [stderr]   --> src/map/loader.rs:82:12
[INFO] [stderr]    |
[INFO] [stderr] 82 | pub struct folder {
[INFO] [stderr]    |            ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Folder`
[INFO] [stderr] 
[INFO] [stderr] warning: type `sprite` should have an upper camel case name
[INFO] [stderr]  --> src/map/sprite.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct sprite {
[INFO] [stderr]   |            ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Sprite`
[INFO] [stderr] 
[INFO] [stderr] warning: type `droplet` should have an upper camel case name
[INFO] [stderr]   --> src/physics/particle.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct droplet {
[INFO] [stderr]    |            ^^^^^^^ help: convert the identifier to upper camel case: `Droplet`
[INFO] [stderr] 
[INFO] [stderr] warning: type `water` should have an upper camel case name
[INFO] [stderr]   --> src/physics/particle.rs:25:12
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub struct water {
[INFO] [stderr]    |            ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Water`
[INFO] [stderr] 
[INFO] [stderr] warning: 6 warnings emitted
[INFO] [stderr] 
[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" "42cc3162b4d94c742ec0445390b15d382bc810b77e5561d23ad58925a836fd13", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "42cc3162b4d94c742ec0445390b15d382bc810b77e5561d23ad58925a836fd13", kill_on_drop: false }`
[INFO] [stdout] 42cc3162b4d94c742ec0445390b15d382bc810b77e5561d23ad58925a836fd13
