[INFO] cloning repository https://github.com/Jeffr-K/ps
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Jeffr-K/ps" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJeffr-K%2Fps", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJeffr-K%2Fps'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 22df4a61af1cef2e9c84964c58f915d6823407c3
[INFO] checking Jeffr-K/ps against master#5a45ab9738330fb317d49e3594c2db5248b1e971 for pr-136303
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJeffr-K%2Fps" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Jeffr-K/ps on toolchain 5a45ab9738330fb317d49e3594c2db5248b1e971
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5a45ab9738330fb317d49e3594c2db5248b1e971" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Jeffr-K/ps
[INFO] finished tweaking git repo https://github.com/Jeffr-K/ps
[INFO] tweaked toml for git repo https://github.com/Jeffr-K/ps written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/Jeffr-K/ps 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" "+5a45ab9738330fb317d49e3594c2db5248b1e971" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c80049f3b88b82089a44e0f06d0d6029d44b96b7257e55a1cd63dbc9f4c33334" "/opt/rustwide/cargo-home/bin/cargo" "+5a45ab9738330fb317d49e3594c2db5248b1e971" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1b2a5b14df7d92fbd32048c1f302e541dd813c2867d83e1d716ddbebb0f62678
[INFO] running `Command { std: "docker" "start" "-a" "1b2a5b14df7d92fbd32048c1f302e541dd813c2867d83e1d716ddbebb0f62678", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1b2a5b14df7d92fbd32048c1f302e541dd813c2867d83e1d716ddbebb0f62678", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1b2a5b14df7d92fbd32048c1f302e541dd813c2867d83e1d716ddbebb0f62678", kill_on_drop: false }`
[INFO] [stdout] 1b2a5b14df7d92fbd32048c1f302e541dd813c2867d83e1d716ddbebb0f62678
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c80049f3b88b82089a44e0f06d0d6029d44b96b7257e55a1cd63dbc9f4c33334" "/opt/rustwide/cargo-home/bin/cargo" "+5a45ab9738330fb317d49e3594c2db5248b1e971" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 01ef3933ff8659c50a5acaa180db24a2b9b215a681a698cfd282b1d621a4a80c
[INFO] running `Command { std: "docker" "start" "-a" "01ef3933ff8659c50a5acaa180db24a2b9b215a681a698cfd282b1d621a4a80c", kill_on_drop: false }`
[INFO] [stderr]     Checking ps v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/leetcode/strings/easy/string/reverse_string.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | /         /// reverse() 는 in-place 로 동작하므로 현재 문제에 대해 완벽하게 유효함.
[INFO] [stdout] 28 | |         /// Python 에서는 reverse() 메서드가 새로운 리스트를 만들어서 복사하는 방식을 이용한다.
[INFO] [stdout] 29 | |         /// Python 에서는 list[:] = list[::-1] 을 사용하여 문제를 해결 할 수 있지만, 이 또한 O(n) 의 공간 복잡도를 가지기 때문에 제약조건을 만족하지 못한다.                                           ...
[INFO] [stdout]    | |____________________________________________________________________________________________________________________________________________________________^
[INFO] [stdout] 30 |           s.reverse();
[INFO] [stdout]    |           ----------- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     /// TODO: 단어별로 문자열 쪼개기
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     let chars = &greet.split("").collect::<Vec<&str>>();
[INFO] [stdout]    |     ---------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |       /// TODO: 단어별로 앞뒤 공백 없앤 채로 문자열 쪼개기
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 | /     let chars_without_whitespace: &Vec<&str> = &greet
[INFO] [stdout] 18 | |         .split_terminator("")
[INFO] [stdout] 19 | |         .filter(|s| !s.is_empty())
[INFO] [stdout] 20 | |         .collect();
[INFO] [stdout]    | |___________________- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |       /// TODO: 문자열에서 인덱스를 활용해 문자 추출
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 31 | /     let extract_char_at_index = &greet
[INFO] [stdout] 32 | |         .chars()
[INFO] [stdout] 33 | |         .nth(3)
[INFO] [stdout] 34 | |         .unwrap();
[INFO] [stdout]    | |__________________- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     /// TODO: 추출한 문자가 숫자인지 확인
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     let is_digit = &extract_char_at_index.is_digit(10);
[INFO] [stdout]    |     --------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     /// TODO: 문자열 자체를 모두 소문자로 만들 수 있는지 확인(ToLowercase)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 43 |     let lowercase_greet = &greet.to_lowercase();
[INFO] [stdout]    |     -------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     /// TODO: 문자열 자체를 모두 대문자로 만들 수 있는지 확인(ToUppercase)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     let uppercase_greet = &greet.to_uppercase();
[INFO] [stdout]    |     -------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |       /// TODO: 빈 문자열 제거한 벡터에서 모든 문자열을 Upper case 로 변경하기
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 51 | /     let uppercase_chars_without_whitespace: &Vec<String> = &greet
[INFO] [stdout] 52 | |         .split_terminator("")
[INFO] [stdout] 53 | |         .filter(|s| !s.is_empty())
[INFO] [stdout] 54 | |         .map(|s| s.to_uppercase())
[INFO] [stdout] 55 | |         .collect();
[INFO] [stdout]    | |___________________- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |       /// TODO: 빈 문자열 제거한 벡터에서 모든 문자열을 Lower case 로 변경하기
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 59 | /     let lowercase_chars_without_whitespace: &Vec<String> = &greet
[INFO] [stdout] 60 | |         .split_terminator("")
[INFO] [stdout] 61 | |         .filter(|s| !s.is_empty())
[INFO] [stdout] 62 | |         .map(|s| s.to_lowercase())
[INFO] [stdout] 63 | |         .collect();
[INFO] [stdout]    | |___________________- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/leetcode/strings/easy/string/reverse_string.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | /         /// reverse() 는 in-place 로 동작하므로 현재 문제에 대해 완벽하게 유효함.
[INFO] [stdout] 28 | |         /// Python 에서는 reverse() 메서드가 새로운 리스트를 만들어서 복사하는 방식을 이용한다.
[INFO] [stdout] 29 | |         /// Python 에서는 list[:] = list[::-1] 을 사용하여 문제를 해결 할 수 있지만, 이 또한 O(n) 의 공간 복잡도를 가지기 때문에 제약조건을 만족하지 못한다.                                           ...
[INFO] [stdout]    | |____________________________________________________________________________________________________________________________________________________________^
[INFO] [stdout] 30 |           s.reverse();
[INFO] [stdout]    |           ----------- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     /// TODO: 단어별로 문자열 쪼개기
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     let chars = &greet.split("").collect::<Vec<&str>>();
[INFO] [stdout]    |     ---------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |       /// TODO: 단어별로 앞뒤 공백 없앤 채로 문자열 쪼개기
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 | /     let chars_without_whitespace: &Vec<&str> = &greet
[INFO] [stdout] 18 | |         .split_terminator("")
[INFO] [stdout] 19 | |         .filter(|s| !s.is_empty())
[INFO] [stdout] 20 | |         .collect();
[INFO] [stdout]    | |___________________- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |       /// TODO: 문자열에서 인덱스를 활용해 문자 추출
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 31 | /     let extract_char_at_index = &greet
[INFO] [stdout] 32 | |         .chars()
[INFO] [stdout] 33 | |         .nth(3)
[INFO] [stdout] 34 | |         .unwrap();
[INFO] [stdout]    | |__________________- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     /// TODO: 추출한 문자가 숫자인지 확인
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     let is_digit = &extract_char_at_index.is_digit(10);
[INFO] [stdout]    |     --------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     /// TODO: 문자열 자체를 모두 소문자로 만들 수 있는지 확인(ToLowercase)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 43 |     let lowercase_greet = &greet.to_lowercase();
[INFO] [stdout]    |     -------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     /// TODO: 문자열 자체를 모두 대문자로 만들 수 있는지 확인(ToUppercase)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     let uppercase_greet = &greet.to_uppercase();
[INFO] [stdout]    |     -------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |       /// TODO: 빈 문자열 제거한 벡터에서 모든 문자열을 Upper case 로 변경하기
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 51 | /     let uppercase_chars_without_whitespace: &Vec<String> = &greet
[INFO] [stdout] 52 | |         .split_terminator("")
[INFO] [stdout] 53 | |         .filter(|s| !s.is_empty())
[INFO] [stdout] 54 | |         .map(|s| s.to_uppercase())
[INFO] [stdout] 55 | |         .collect();
[INFO] [stdout]    | |___________________- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |       /// TODO: 빈 문자열 제거한 벡터에서 모든 문자열을 Lower case 로 변경하기
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 59 | /     let lowercase_chars_without_whitespace: &Vec<String> = &greet
[INFO] [stdout] 60 | |         .split_terminator("")
[INFO] [stdout] 61 | |         .filter(|s| !s.is_empty())
[INFO] [stdout] 62 | |         .map(|s| s.to_lowercase())
[INFO] [stdout] 63 | |         .collect();
[INFO] [stdout]    | |___________________- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nums`
[INFO] [stdout]  --> src/leetcode/array/medium/three_sum.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub fn three_sum(nums: Vec<i32>) -> Vec<Vec<i32>> {
[INFO] [stdout]   |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_nums`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]  --> src/programmers/lv3/longest_palindrome.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn solution(height: &[i32]) -> i32 {
[INFO] [stdout]   |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/leetcode/array/medium/three_sum.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | /         assert_eq!(
[INFO] [stdout] 20 | |             Solution::three_sum(vec![]),
[INFO] [stdout] 21 | |             vec![]
[INFO] [stdout] 22 | |         );
[INFO] [stdout]    | |_________^ cannot infer type
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/strings/easy/string/valid_palindrome.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_palindrome` is never used
[INFO] [stdout]   --> src/leetcode/strings/easy/string/valid_palindrome.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Solution {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn is_palindrome(s: String) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/strings/easy/string/reverse_string.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `reverse_string`, `reverse_string_by_std`, `reverse_string_by_slice_pattern`, `reverse_string_by_swap`, and `reverse_string_by_iterator_and_window` are never used
[INFO] [stdout]   --> src/leetcode/strings/easy/string/reverse_string.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Solution {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 13 |     pub fn reverse_string(s: &mut Vec<char>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn reverse_string_by_std(s: &mut Vec<char>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn reverse_string_by_slice_pattern(s: &mut Vec<char>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn reverse_string_by_swap(s: &mut Vec<char>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn reverse_string_by_iterator_and_window(s: &mut Vec<char>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/strings/medium/string/reorder_log_files.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `reorder_log_files` is never used
[INFO] [stdout]   --> src/leetcode/strings/medium/string/reorder_log_files.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Solution {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn reorder_log_files(logs: Vec<String>) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/strings/medium/string/longest_palindrome.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `longest_palindrome` and `expand_around_center` are never used
[INFO] [stdout]   --> src/leetcode/strings/medium/string/longest_palindrome.rs:4:12
[INFO] [stdout]    |
[INFO] [stdout] 3  | impl Solution {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 4  |     pub fn longest_palindrome(s: String) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn expand_around_center(chars: &[char], mut left: i32, mut right: i32) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/array/medium/three_sum.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `three_sum` is never used
[INFO] [stdout]  --> src/leetcode/array/medium/three_sum.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn three_sum(nums: Vec<i32>) -> Vec<Vec<i32>> {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/array/hard/trapping_rain_water.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `trapping_rain_water_v1` and `trapping_rain_water_v2` are never used
[INFO] [stdout]   --> src/leetcode/array/hard/trapping_rain_water.rs:7:12
[INFO] [stdout]    |
[INFO] [stdout] 5  | impl Solution {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 6  |
[INFO] [stdout] 7  |     pub fn trapping_rain_water_v1(height: &[i32]) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn trapping_rain_water_v2(height: &[i32]) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/programmers/lv1/leap_year.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_leap_year` is never used
[INFO] [stdout]  --> src/programmers/lv1/leap_year.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn is_leap_year(a: i32, b: i32) -> String {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/programmers/lv1/sort_by_my_mind.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `solution` is never used
[INFO] [stdout]  --> src/programmers/lv1/sort_by_my_mind.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 5 |     pub fn solution(numbers: Vec<i32>) -> i32 {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/programmers/lv3/longest_palindrome.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `solution` is never used
[INFO] [stdout]  --> src/programmers/lv3/longest_palindrome.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 6 |     pub fn solution(height: &[i32]) -> i32 {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]   --> src/programmers/lv3/best_album.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct Solution;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `solution` is never used
[INFO] [stdout]   --> src/programmers/lv3/best_album.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Solution {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 24 |     pub fn solution(genres: Vec<&str>, plays: Vec<i32>) -> Vec<i32> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nums`
[INFO] [stdout]  --> src/leetcode/array/medium/three_sum.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub fn three_sum(nums: Vec<i32>) -> Vec<Vec<i32>> {
[INFO] [stdout]   |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_nums`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]  --> src/programmers/lv3/longest_palindrome.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn solution(height: &[i32]) -> i32 {
[INFO] [stdout]   |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ps` (bin "ps" test) due to 1 previous error; 11 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "01ef3933ff8659c50a5acaa180db24a2b9b215a681a698cfd282b1d621a4a80c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "01ef3933ff8659c50a5acaa180db24a2b9b215a681a698cfd282b1d621a4a80c", kill_on_drop: false }`
[INFO] [stdout] 01ef3933ff8659c50a5acaa180db24a2b9b215a681a698cfd282b1d621a4a80c
