[INFO] cloning repository https://github.com/AlfredDU/learn-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AlfredDU/learn-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlfredDU%2Flearn-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlfredDU%2Flearn-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ec71d154d2b5c8c7f8063335aeac9e99e97158cb
[INFO] checking AlfredDU/learn-rust against master#36b21637e93b038453924d3c66821089e71d8baa for pr-143164
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlfredDU%2Flearn-rust" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/AlfredDU/learn-rust
[INFO] finished tweaking git repo https://github.com/AlfredDU/learn-rust
[INFO] tweaked toml for git repo https://github.com/AlfredDU/learn-rust written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AlfredDU/learn-rust on toolchain 36b21637e93b038453924d3c66821089e71d8baa
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+36b21637e93b038453924d3c66821089e71d8baa" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/AlfredDU/learn-rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+36b21637e93b038453924d3c66821089e71d8baa" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+36b21637e93b038453924d3c66821089e71d8baa" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d33c5bafe28e6dccc6e215a8977713378af6355d70cffa3d660c7f807dac8147
[INFO] running `Command { std: "docker" "start" "-a" "d33c5bafe28e6dccc6e215a8977713378af6355d70cffa3d660c7f807dac8147", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d33c5bafe28e6dccc6e215a8977713378af6355d70cffa3d660c7f807dac8147", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d33c5bafe28e6dccc6e215a8977713378af6355d70cffa3d660c7f807dac8147", kill_on_drop: false }`
[INFO] [stdout] d33c5bafe28e6dccc6e215a8977713378af6355d70cffa3d660c7f807dac8147
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+36b21637e93b038453924d3c66821089e71d8baa" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 312679c5a3a8adbffccc2428c70277a53ff98cc4ba7accb51c1a4c6d4330a348
[INFO] running `Command { std: "docker" "start" "-a" "312679c5a3a8adbffccc2428c70277a53ff98cc4ba7accb51c1a4c6d4330a348", kill_on_drop: false }`
[INFO] [stderr]     Checking learn-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/write_textfile.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/write_textfile.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `FIVE_0`
[INFO] [stdout]   --> src/operator_override.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let FIVE_0 = FiniteFieldElement::<5>{val: 0};
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_FIVE_0`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `FIVE_1`
[INFO] [stdout]   --> src/operator_override.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let FIVE_1 = FiniteFieldElement::<5>{val: 1};
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_FIVE_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]  --> src/hello_world.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn main() {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/arguments.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/complex.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_string`, `abs`, `arg`, and `to_tri_string` are never used
[INFO] [stdout]   --> src/complex.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 19 |         impl Complex {
[INFO] [stdout]    |         ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |             fn to_string(&self) -> String {
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |             fn abs(&self) -> $num_type {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |             fn arg(&self) -> $num_type {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |             fn to_tri_string(&self) -> String {
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     complex_define!(u32);
[INFO] [stdout]    |     -------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `complex_define` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RGB` is never used
[INFO] [stdout]   --> src/enumeration.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum RGB {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `val` and `to_string` are never used
[INFO] [stdout]   --> src/enumeration.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl RGB {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout] 31 |     fn val(&self) -> rgb_color::RGBTuple {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn to_string(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/enumeration.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RGBTuple` is never used
[INFO] [stdout]  --> src/enumeration.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub type RGBTuple = (u8, u8, u8);
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RED` is never used
[INFO] [stdout]  --> src/enumeration.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub const RED: RGBTuple = (255, 0, 0);
[INFO] [stdout]   |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GREEN` is never used
[INFO] [stdout]  --> src/enumeration.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const GREEN: RGBTuple = (0, 255, 0);
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLUE` is never used
[INFO] [stdout]   --> src/enumeration.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const BLUE: RGBTuple = (0, 0, 255);
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK` is never used
[INFO] [stdout]   --> src/enumeration.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub const BLACK: RGBTuple = (0, 0, 0);
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE` is never used
[INFO] [stdout]   --> src/enumeration.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub const WHITE: RGBTuple = (255, 255, 255);
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_string` is never used
[INFO] [stdout]   --> src/enumeration.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn to_string(rgb: RGBTuple) -> String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Vector2f` is never used
[INFO] [stdout]  --> src/multidimensional_array.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | type Vector2f = [f64; 2];
[INFO] [stdout]   |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Matrix2x2f` is never used
[INFO] [stdout]  --> src/multidimensional_array.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | type Matrix2x2f = [Vector2f; 2];
[INFO] [stdout]   |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate` is never used
[INFO] [stdout]  --> src/multidimensional_array.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn rotate(vec: &Vector2f, angle: f64) -> Vector2f {
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_string` is never used
[INFO] [stdout]   --> src/multidimensional_array.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn to_string(vec: &Vector2f) -> String {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/multidimensional_array.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/operator_override.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEXT_FILENAME` is never used
[INFO] [stdout]  --> src/read_textfile.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const TEXT_FILENAME: &str = "src/res/GNU通用公共许可协议3.0.txt";
[INFO] [stdout]   |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_by_lines` is never used
[INFO] [stdout]   --> src/read_textfile.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn read_by_lines() -> Result<Vec<String>, std::io::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_all` is never used
[INFO] [stdout]   --> src/read_textfile.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn read_all() -> Result<String, std::io::Error> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/read_textfile.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     write_textfile::main();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let _ = write_textfile::main();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FIVE_0` should have a snake case name
[INFO] [stdout]   --> src/operator_override.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let FIVE_0 = FiniteFieldElement::<5>{val: 0};
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `five_0`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FIVE_1` should have a snake case name
[INFO] [stdout]   --> src/operator_override.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let FIVE_1 = FiniteFieldElement::<5>{val: 1};
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `five_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FIVE_2` should have a snake case name
[INFO] [stdout]   --> src/operator_override.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let FIVE_2 = FiniteFieldElement::<5>{val: 2};
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `five_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FIVE_3` should have a snake case name
[INFO] [stdout]   --> src/operator_override.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let FIVE_3 = FiniteFieldElement::<5>{val: 3};
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `five_3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FIVE_4` should have a snake case name
[INFO] [stdout]   --> src/operator_override.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let FIVE_4 = FiniteFieldElement::<5>{val: 4};
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `five_4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `FIVE_0`
[INFO] [stdout]   --> src/operator_override.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let FIVE_0 = FiniteFieldElement::<5>{val: 0};
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_FIVE_0`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `FIVE_1`
[INFO] [stdout]   --> src/operator_override.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let FIVE_1 = FiniteFieldElement::<5>{val: 1};
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_FIVE_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]  --> src/hello_world.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn main() {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/arguments.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/complex.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_string`, `abs`, `arg`, and `to_tri_string` are never used
[INFO] [stdout]   --> src/complex.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 19 |         impl Complex {
[INFO] [stdout]    |         ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |             fn to_string(&self) -> String {
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |             fn abs(&self) -> $num_type {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |             fn arg(&self) -> $num_type {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |             fn to_tri_string(&self) -> String {
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     complex_define!(u32);
[INFO] [stdout]    |     -------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `complex_define` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RGB` is never used
[INFO] [stdout]   --> src/enumeration.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum RGB {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `val` and `to_string` are never used
[INFO] [stdout]   --> src/enumeration.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl RGB {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout] 31 |     fn val(&self) -> rgb_color::RGBTuple {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn to_string(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/enumeration.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RGBTuple` is never used
[INFO] [stdout]  --> src/enumeration.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub type RGBTuple = (u8, u8, u8);
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RED` is never used
[INFO] [stdout]  --> src/enumeration.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub const RED: RGBTuple = (255, 0, 0);
[INFO] [stdout]   |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GREEN` is never used
[INFO] [stdout]  --> src/enumeration.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const GREEN: RGBTuple = (0, 255, 0);
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLUE` is never used
[INFO] [stdout]   --> src/enumeration.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const BLUE: RGBTuple = (0, 0, 255);
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK` is never used
[INFO] [stdout]   --> src/enumeration.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub const BLACK: RGBTuple = (0, 0, 0);
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE` is never used
[INFO] [stdout]   --> src/enumeration.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub const WHITE: RGBTuple = (255, 255, 255);
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_string` is never used
[INFO] [stdout]   --> src/enumeration.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn to_string(rgb: RGBTuple) -> String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Vector2f` is never used
[INFO] [stdout]  --> src/multidimensional_array.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | type Vector2f = [f64; 2];
[INFO] [stdout]   |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Matrix2x2f` is never used
[INFO] [stdout]  --> src/multidimensional_array.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | type Matrix2x2f = [Vector2f; 2];
[INFO] [stdout]   |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate` is never used
[INFO] [stdout]  --> src/multidimensional_array.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn rotate(vec: &Vector2f, angle: f64) -> Vector2f {
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_string` is never used
[INFO] [stdout]   --> src/multidimensional_array.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn to_string(vec: &Vector2f) -> String {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/multidimensional_array.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/operator_override.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEXT_FILENAME` is never used
[INFO] [stdout]  --> src/read_textfile.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const TEXT_FILENAME: &str = "src/res/GNU通用公共许可协议3.0.txt";
[INFO] [stdout]   |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_by_lines` is never used
[INFO] [stdout]   --> src/read_textfile.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn read_by_lines() -> Result<Vec<String>, std::io::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_all` is never used
[INFO] [stdout]   --> src/read_textfile.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn read_all() -> Result<String, std::io::Error> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/read_textfile.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     write_textfile::main();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let _ = write_textfile::main();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FIVE_0` should have a snake case name
[INFO] [stdout]   --> src/operator_override.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let FIVE_0 = FiniteFieldElement::<5>{val: 0};
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `five_0`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FIVE_1` should have a snake case name
[INFO] [stdout]   --> src/operator_override.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let FIVE_1 = FiniteFieldElement::<5>{val: 1};
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `five_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FIVE_2` should have a snake case name
[INFO] [stdout]   --> src/operator_override.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let FIVE_2 = FiniteFieldElement::<5>{val: 2};
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `five_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FIVE_3` should have a snake case name
[INFO] [stdout]   --> src/operator_override.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let FIVE_3 = FiniteFieldElement::<5>{val: 3};
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `five_3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FIVE_4` should have a snake case name
[INFO] [stdout]   --> src/operator_override.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let FIVE_4 = FiniteFieldElement::<5>{val: 4};
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `five_4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.31s
[INFO] running `Command { std: "docker" "inspect" "312679c5a3a8adbffccc2428c70277a53ff98cc4ba7accb51c1a4c6d4330a348", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "312679c5a3a8adbffccc2428c70277a53ff98cc4ba7accb51c1a4c6d4330a348", kill_on_drop: false }`
[INFO] [stdout] 312679c5a3a8adbffccc2428c70277a53ff98cc4ba7accb51c1a4c6d4330a348
