[INFO] updating cached repository https://github.com/lazylook2/rust_study [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 499240ac56e70a5f7559cd7ce6c956e5db066df0 [INFO] testing lazylook2/rust_study against 1.44.0 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flazylook2%2Frust_study" "/workspace/builds/worker-10/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-10/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/lazylook2/rust_study on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/lazylook2/rust_study [INFO] finished tweaking git repo https://github.com/lazylook2/rust_study [INFO] tweaked toml for git repo https://github.com/lazylook2/rust_study written to /workspace/builds/worker-10/source/Cargo.toml [INFO] crate git repo https://github.com/lazylook2/rust_study already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] eee1822b6e03652c56c9008f133ce1ae62332341dfa156daacfaff7ab600f684 [INFO] running `"docker" "start" "-a" "eee1822b6e03652c56c9008f133ce1ae62332341dfa156daacfaff7ab600f684"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling rust_study v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused imports: `ErrorKind`, `Error` [INFO] [stderr] --> src/error.rs:2:15 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{ErrorKind, Read, Error}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/common.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | let y = { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `number` [INFO] [stderr] --> src/common.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | let number = if condition { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `user1` [INFO] [stderr] --> src/structs.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | let user1 = User{ [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_user1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `user2` [INFO] [stderr] --> src/structs.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | let user2 = User{ [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_user2` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `four` [INFO] [stderr] --> src/enum_match.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | let four = IpAddKind::V4; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_four` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `home` [INFO] [stderr] --> src/enum_match.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | let home = IpAddr{ kind: IpAddKind::V4, address: String::from("127.0.0.1") }; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_home` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ip_type` [INFO] [stderr] --> src/enum_match.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | fn route (ip_type: IpAddKind) { } [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_type` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/collections.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | let v: Vec = Vec::new(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `first` [INFO] [stderr] --> src/collections.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | let first = &v[0]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_first` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `row` [INFO] [stderr] --> src/collections.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | let row = vec![ [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_row` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | let mut s = String::new(); // String 这样拥有所有权,被移动就回不来了 [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | let s = data.to_string(); // String [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | let s = "initial contents".to_string(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | let s = String::from("initial contents"); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | let s = s1 + "-" + &s2; // String 和 &str。s1 被移动了,不能继续使用 [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hello` [INFO] [stderr] --> src/collections.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | let hello = &s[0..5]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `world` [INFO] [stderr] --> src/collections.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | let world = &s[6..11]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_world` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `slice` [INFO] [stderr] --> src/collections.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | let slice = &a[1..3]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `word` [INFO] [stderr] --> src/collections.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | let word = first_word(&s); // word 的值为 5 [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_word` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `scores` [INFO] [stderr] --> src/collections.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | let scores: HashMap<_, _> = teams.iter().zip(initial_scores.iter()).collect(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_scores` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/collections.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | let mut s = String::new(); // String 这样拥有所有权,被移动就回不来了 [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/error.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | let mut f = File::open("fuck.txt"); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `active` [INFO] [stderr] --> src/structs.rs:6:9 [INFO] [stderr] | [INFO] [stderr] 6 | active: bool, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `build_user` [INFO] [stderr] --> src/structs.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | fn build_user(username: String) -> User{ [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `can_hold` [INFO] [stderr] --> src/structs.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | fn can_hold(&self, other: &Rectangle) -> bool{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `V6` [INFO] [stderr] --> src/enum_match.rs:2:24 [INFO] [stderr] | [INFO] [stderr] 2 | enum IpAddKind {V4,V6,} [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `kind` [INFO] [stderr] --> src/enum_match.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 7 | kind: IpAddKind, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `address` [INFO] [stderr] --> src/enum_match.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | address: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Quit` [INFO] [stderr] --> src/enum_match.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | Quit, // 没有关联任何数据 [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Move` [INFO] [stderr] --> src/enum_match.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | Move {x: i32, y: i32}, // 包含一个匿名结构体 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ChangeColor` [INFO] [stderr] --> src/enum_match.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | ChangeColor(i32, i32, i32), // 包含三个 i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `read_username_from_file1` [INFO] [stderr] --> src/error.rs:69:8 [INFO] [stderr] | [INFO] [stderr] 69 | fn read_username_from_file1() -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `String1` should have a snake case name [INFO] [stderr] --> src/collections.rs:49:8 [INFO] [stderr] | [INFO] [stderr] 49 | pub fn String1() { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `string1` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 34 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.80s [INFO] running `"docker" "inspect" "eee1822b6e03652c56c9008f133ce1ae62332341dfa156daacfaff7ab600f684"` [INFO] running `"docker" "rm" "-f" "eee1822b6e03652c56c9008f133ce1ae62332341dfa156daacfaff7ab600f684"` [INFO] [stdout] eee1822b6e03652c56c9008f133ce1ae62332341dfa156daacfaff7ab600f684 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] e76b1aa710c97545eba3f9557ca555d9a85e2087453246ee4592b164d3ce2413 [INFO] running `"docker" "start" "-a" "e76b1aa710c97545eba3f9557ca555d9a85e2087453246ee4592b164d3ce2413"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling rust_study v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused imports: `ErrorKind`, `Error` [INFO] [stderr] --> src/error.rs:2:15 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{ErrorKind, Read, Error}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/common.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | let y = { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `number` [INFO] [stderr] --> src/common.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | let number = if condition { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `user1` [INFO] [stderr] --> src/structs.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | let user1 = User{ [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_user1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `user2` [INFO] [stderr] --> src/structs.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | let user2 = User{ [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_user2` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `four` [INFO] [stderr] --> src/enum_match.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | let four = IpAddKind::V4; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_four` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `home` [INFO] [stderr] --> src/enum_match.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | let home = IpAddr{ kind: IpAddKind::V4, address: String::from("127.0.0.1") }; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_home` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ip_type` [INFO] [stderr] --> src/enum_match.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | fn route (ip_type: IpAddKind) { } [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_type` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/collections.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | let v: Vec = Vec::new(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `first` [INFO] [stderr] --> src/collections.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | let first = &v[0]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_first` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `row` [INFO] [stderr] --> src/collections.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | let row = vec![ [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_row` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | let mut s = String::new(); // String 这样拥有所有权,被移动就回不来了 [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | let s = data.to_string(); // String [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | let s = "initial contents".to_string(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | let s = String::from("initial contents"); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | let s = s1 + "-" + &s2; // String 和 &str。s1 被移动了,不能继续使用 [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hello` [INFO] [stderr] --> src/collections.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | let hello = &s[0..5]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `world` [INFO] [stderr] --> src/collections.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | let world = &s[6..11]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_world` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `slice` [INFO] [stderr] --> src/collections.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | let slice = &a[1..3]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `word` [INFO] [stderr] --> src/collections.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | let word = first_word(&s); // word 的值为 5 [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_word` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `scores` [INFO] [stderr] --> src/collections.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | let scores: HashMap<_, _> = teams.iter().zip(initial_scores.iter()).collect(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_scores` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/collections.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | let mut s = String::new(); // String 这样拥有所有权,被移动就回不来了 [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/error.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | let mut f = File::open("fuck.txt"); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `active` [INFO] [stderr] --> src/structs.rs:6:9 [INFO] [stderr] | [INFO] [stderr] 6 | active: bool, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `build_user` [INFO] [stderr] --> src/structs.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | fn build_user(username: String) -> User{ [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `can_hold` [INFO] [stderr] --> src/structs.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | fn can_hold(&self, other: &Rectangle) -> bool{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `V6` [INFO] [stderr] --> src/enum_match.rs:2:24 [INFO] [stderr] | [INFO] [stderr] 2 | enum IpAddKind {V4,V6,} [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `kind` [INFO] [stderr] --> src/enum_match.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 7 | kind: IpAddKind, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `address` [INFO] [stderr] --> src/enum_match.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | address: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Quit` [INFO] [stderr] --> src/enum_match.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | Quit, // 没有关联任何数据 [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Move` [INFO] [stderr] --> src/enum_match.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | Move {x: i32, y: i32}, // 包含一个匿名结构体 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ChangeColor` [INFO] [stderr] --> src/enum_match.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | ChangeColor(i32, i32, i32), // 包含三个 i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `read_username_from_file1` [INFO] [stderr] --> src/error.rs:69:8 [INFO] [stderr] | [INFO] [stderr] 69 | fn read_username_from_file1() -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `String1` should have a snake case name [INFO] [stderr] --> src/collections.rs:49:8 [INFO] [stderr] | [INFO] [stderr] 49 | pub fn String1() { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `string1` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 34 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ErrorKind`, `Error` [INFO] [stderr] --> src/error.rs:2:15 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{ErrorKind, Read, Error}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/common.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | let y = { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `number` [INFO] [stderr] --> src/common.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | let number = if condition { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `user1` [INFO] [stderr] --> src/structs.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | let user1 = User{ [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_user1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `user2` [INFO] [stderr] --> src/structs.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | let user2 = User{ [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_user2` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `four` [INFO] [stderr] --> src/enum_match.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | let four = IpAddKind::V4; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_four` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `home` [INFO] [stderr] --> src/enum_match.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | let home = IpAddr{ kind: IpAddKind::V4, address: String::from("127.0.0.1") }; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_home` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ip_type` [INFO] [stderr] --> src/enum_match.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | fn route (ip_type: IpAddKind) { } [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_type` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/collections.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | let v: Vec = Vec::new(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `first` [INFO] [stderr] --> src/collections.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | let first = &v[0]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_first` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `row` [INFO] [stderr] --> src/collections.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | let row = vec![ [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_row` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | let mut s = String::new(); // String 这样拥有所有权,被移动就回不来了 [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | let s = data.to_string(); // String [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | let s = "initial contents".to_string(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | let s = String::from("initial contents"); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | let s = s1 + "-" + &s2; // String 和 &str。s1 被移动了,不能继续使用 [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hello` [INFO] [stderr] --> src/collections.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | let hello = &s[0..5]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `world` [INFO] [stderr] --> src/collections.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | let world = &s[6..11]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_world` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `slice` [INFO] [stderr] --> src/collections.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | let slice = &a[1..3]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `word` [INFO] [stderr] --> src/collections.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | let word = first_word(&s); // word 的值为 5 [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_word` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `scores` [INFO] [stderr] --> src/collections.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | let scores: HashMap<_, _> = teams.iter().zip(initial_scores.iter()).collect(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_scores` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/collections.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | let mut s = String::new(); // String 这样拥有所有权,被移动就回不来了 [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/error.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | let mut f = File::open("fuck.txt"); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `active` [INFO] [stderr] --> src/structs.rs:6:9 [INFO] [stderr] | [INFO] [stderr] 6 | active: bool, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `build_user` [INFO] [stderr] --> src/structs.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | fn build_user(username: String) -> User{ [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `can_hold` [INFO] [stderr] --> src/structs.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | fn can_hold(&self, other: &Rectangle) -> bool{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `V6` [INFO] [stderr] --> src/enum_match.rs:2:24 [INFO] [stderr] | [INFO] [stderr] 2 | enum IpAddKind {V4,V6,} [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `kind` [INFO] [stderr] --> src/enum_match.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 7 | kind: IpAddKind, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `address` [INFO] [stderr] --> src/enum_match.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | address: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Quit` [INFO] [stderr] --> src/enum_match.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | Quit, // 没有关联任何数据 [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Move` [INFO] [stderr] --> src/enum_match.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | Move {x: i32, y: i32}, // 包含一个匿名结构体 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ChangeColor` [INFO] [stderr] --> src/enum_match.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | ChangeColor(i32, i32, i32), // 包含三个 i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `read_username_from_file1` [INFO] [stderr] --> src/error.rs:69:8 [INFO] [stderr] | [INFO] [stderr] 69 | fn read_username_from_file1() -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `String1` should have a snake case name [INFO] [stderr] --> src/collections.rs:49:8 [INFO] [stderr] | [INFO] [stderr] 49 | pub fn String1() { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `string1` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 34 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.37s [INFO] running `"docker" "inspect" "e76b1aa710c97545eba3f9557ca555d9a85e2087453246ee4592b164d3ce2413"` [INFO] running `"docker" "rm" "-f" "e76b1aa710c97545eba3f9557ca555d9a85e2087453246ee4592b164d3ce2413"` [INFO] [stdout] e76b1aa710c97545eba3f9557ca555d9a85e2087453246ee4592b164d3ce2413 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 02168cece62cc6aaf6380aec7a6accc561453525da4d2442644de0b702c0408c [INFO] running `"docker" "start" "-a" "02168cece62cc6aaf6380aec7a6accc561453525da4d2442644de0b702c0408c"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] warning: unused imports: `ErrorKind`, `Error` [INFO] [stderr] --> src/error.rs:2:15 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{ErrorKind, Read, Error}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/common.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | let y = { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `number` [INFO] [stderr] --> src/common.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | let number = if condition { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `user1` [INFO] [stderr] --> src/structs.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | let user1 = User{ [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_user1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `user2` [INFO] [stderr] --> src/structs.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | let user2 = User{ [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_user2` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `four` [INFO] [stderr] --> src/enum_match.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | let four = IpAddKind::V4; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_four` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `home` [INFO] [stderr] --> src/enum_match.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | let home = IpAddr{ kind: IpAddKind::V4, address: String::from("127.0.0.1") }; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_home` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ip_type` [INFO] [stderr] --> src/enum_match.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | fn route (ip_type: IpAddKind) { } [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_type` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/collections.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | let v: Vec = Vec::new(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `first` [INFO] [stderr] --> src/collections.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | let first = &v[0]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_first` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `row` [INFO] [stderr] --> src/collections.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | let row = vec![ [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_row` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | let mut s = String::new(); // String 这样拥有所有权,被移动就回不来了 [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | let s = data.to_string(); // String [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | let s = "initial contents".to_string(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | let s = String::from("initial contents"); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | let s = s1 + "-" + &s2; // String 和 &str。s1 被移动了,不能继续使用 [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hello` [INFO] [stderr] --> src/collections.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | let hello = &s[0..5]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `world` [INFO] [stderr] --> src/collections.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | let world = &s[6..11]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_world` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `slice` [INFO] [stderr] --> src/collections.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | let slice = &a[1..3]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `word` [INFO] [stderr] --> src/collections.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | let word = first_word(&s); // word 的值为 5 [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_word` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `scores` [INFO] [stderr] --> src/collections.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | let scores: HashMap<_, _> = teams.iter().zip(initial_scores.iter()).collect(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_scores` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/collections.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | let mut s = String::new(); // String 这样拥有所有权,被移动就回不来了 [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/error.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | let mut f = File::open("fuck.txt"); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `active` [INFO] [stderr] --> src/structs.rs:6:9 [INFO] [stderr] | [INFO] [stderr] 6 | active: bool, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `build_user` [INFO] [stderr] --> src/structs.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | fn build_user(username: String) -> User{ [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `can_hold` [INFO] [stderr] --> src/structs.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | fn can_hold(&self, other: &Rectangle) -> bool{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `V6` [INFO] [stderr] --> src/enum_match.rs:2:24 [INFO] [stderr] | [INFO] [stderr] 2 | enum IpAddKind {V4,V6,} [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `kind` [INFO] [stderr] --> src/enum_match.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 7 | kind: IpAddKind, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `address` [INFO] [stderr] --> src/enum_match.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | address: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Quit` [INFO] [stderr] --> src/enum_match.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | Quit, // 没有关联任何数据 [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Move` [INFO] [stderr] --> src/enum_match.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | Move {x: i32, y: i32}, // 包含一个匿名结构体 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ChangeColor` [INFO] [stderr] --> src/enum_match.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | ChangeColor(i32, i32, i32), // 包含三个 i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `read_username_from_file1` [INFO] [stderr] --> src/error.rs:69:8 [INFO] [stderr] | [INFO] [stderr] 69 | fn read_username_from_file1() -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `String1` should have a snake case name [INFO] [stderr] --> src/collections.rs:49:8 [INFO] [stderr] | [INFO] [stderr] 49 | pub fn String1() { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `string1` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 34 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ErrorKind`, `Error` [INFO] [stderr] --> src/error.rs:2:15 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{ErrorKind, Read, Error}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/common.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | let y = { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `number` [INFO] [stderr] --> src/common.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | let number = if condition { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `user1` [INFO] [stderr] --> src/structs.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | let user1 = User{ [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_user1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `user2` [INFO] [stderr] --> src/structs.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | let user2 = User{ [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_user2` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `four` [INFO] [stderr] --> src/enum_match.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | let four = IpAddKind::V4; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_four` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `home` [INFO] [stderr] --> src/enum_match.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | let home = IpAddr{ kind: IpAddKind::V4, address: String::from("127.0.0.1") }; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_home` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ip_type` [INFO] [stderr] --> src/enum_match.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | fn route (ip_type: IpAddKind) { } [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_type` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/collections.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | let v: Vec = Vec::new(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `first` [INFO] [stderr] --> src/collections.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | let first = &v[0]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_first` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `row` [INFO] [stderr] --> src/collections.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | let row = vec![ [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_row` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | let mut s = String::new(); // String 这样拥有所有权,被移动就回不来了 [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | let s = data.to_string(); // String [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | let s = "initial contents".to_string(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | let s = String::from("initial contents"); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/collections.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | let s = s1 + "-" + &s2; // String 和 &str。s1 被移动了,不能继续使用 [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hello` [INFO] [stderr] --> src/collections.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | let hello = &s[0..5]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `world` [INFO] [stderr] --> src/collections.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | let world = &s[6..11]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_world` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `slice` [INFO] [stderr] --> src/collections.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | let slice = &a[1..3]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `word` [INFO] [stderr] --> src/collections.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | let word = first_word(&s); // word 的值为 5 [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_word` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `scores` [INFO] [stderr] --> src/collections.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | let scores: HashMap<_, _> = teams.iter().zip(initial_scores.iter()).collect(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_scores` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/collections.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | let mut s = String::new(); // String 这样拥有所有权,被移动就回不来了 [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/error.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | let mut f = File::open("fuck.txt"); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `active` [INFO] [stderr] --> src/structs.rs:6:9 [INFO] [stderr] | [INFO] [stderr] 6 | active: bool, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `build_user` [INFO] [stderr] --> src/structs.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | fn build_user(username: String) -> User{ [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `can_hold` [INFO] [stderr] --> src/structs.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | fn can_hold(&self, other: &Rectangle) -> bool{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `V6` [INFO] [stderr] --> src/enum_match.rs:2:24 [INFO] [stderr] | [INFO] [stderr] 2 | enum IpAddKind {V4,V6,} [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `kind` [INFO] [stderr] --> src/enum_match.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 7 | kind: IpAddKind, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `address` [INFO] [stderr] --> src/enum_match.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | address: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Quit` [INFO] [stderr] --> src/enum_match.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | Quit, // 没有关联任何数据 [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Move` [INFO] [stderr] --> src/enum_match.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | Move {x: i32, y: i32}, // 包含一个匿名结构体 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ChangeColor` [INFO] [stderr] --> src/enum_match.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | ChangeColor(i32, i32, i32), // 包含三个 i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `read_username_from_file1` [INFO] [stderr] --> src/error.rs:69:8 [INFO] [stderr] | [INFO] [stderr] 69 | fn read_username_from_file1() -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `String1` should have a snake case name [INFO] [stderr] --> src/collections.rs:49:8 [INFO] [stderr] | [INFO] [stderr] 49 | pub fn String1() { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `string1` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 34 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/rust_study-3277a6ba26db7cb3 [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/rust_study-087190b2761135ab [INFO] [stdout] running 0 tests [INFO] [stderr] Doc-tests rust_study [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [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 [INFO] [stdout] [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 [INFO] [stdout] [INFO] running `"docker" "inspect" "02168cece62cc6aaf6380aec7a6accc561453525da4d2442644de0b702c0408c"` [INFO] running `"docker" "rm" "-f" "02168cece62cc6aaf6380aec7a6accc561453525da4d2442644de0b702c0408c"` [INFO] [stdout] 02168cece62cc6aaf6380aec7a6accc561453525da4d2442644de0b702c0408c