[INFO] cloning repository https://github.com/JiMarchel/belajar-dsa [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JiMarchel/belajar-dsa" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJiMarchel%2Fbelajar-dsa", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJiMarchel%2Fbelajar-dsa'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 66b4d07843dc51feaf858acdcd5e98506651b06b [INFO] testing JiMarchel/belajar-dsa against try#c066bf6804adc55193b71afdff6a56922f4a8689+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_in_2025-retry-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJiMarchel%2Fbelajar-dsa" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/JiMarchel/belajar-dsa [INFO] finished tweaking git repo https://github.com/JiMarchel/belajar-dsa [INFO] tweaked toml for git repo https://github.com/JiMarchel/belajar-dsa written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/JiMarchel/belajar-dsa on toolchain c066bf6804adc55193b71afdff6a56922f4a8689 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/JiMarchel/belajar-dsa 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" "+c066bf6804adc55193b71afdff6a56922f4a8689" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cf102d4ff1adb8a9df8afc936e3941b30d1fcd030c9ec25e5c15f199626b5208 [INFO] running `Command { std: "docker" "start" "-a" "cf102d4ff1adb8a9df8afc936e3941b30d1fcd030c9ec25e5c15f199626b5208", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cf102d4ff1adb8a9df8afc936e3941b30d1fcd030c9ec25e5c15f199626b5208", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cf102d4ff1adb8a9df8afc936e3941b30d1fcd030c9ec25e5c15f199626b5208", kill_on_drop: false }` [INFO] [stdout] cf102d4ff1adb8a9df8afc936e3941b30d1fcd030c9ec25e5c15f199626b5208 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] e9b977d26b0302c22434a872a0708d87b8b443fe36f9845b5e37de84519feac1 [INFO] running `Command { std: "docker" "start" "-a" "e9b977d26b0302c22434a872a0708d87b8b443fe36f9845b5e37de84519feac1", kill_on_drop: false }` [INFO] [stderr] Compiling learn-dsa v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: struct `Deque` is never constructed [INFO] [stdout] --> src/basic_data_structure/dequeue/dequeue.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct Deque { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Deque` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/basic_data_structure/dequeue/dequeue.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Deque { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 8 | pub fn new(cap: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn is_full(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn add_front(&mut self, val: T) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn add_rear(&mut self, val: T) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn remove_front(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn remove_rear(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn into_iter(self) -> IntoIter { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IntoIter` is never constructed [INFO] [stdout] --> src/basic_data_structure/dequeue/dequeue.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct IntoIter(Deque); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Iter` is never constructed [INFO] [stdout] --> src/basic_data_structure/dequeue/dequeue.rs:104:12 [INFO] [stdout] | [INFO] [stdout] 104 | pub struct Iter<'a, T: 'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IterMut` is never constructed [INFO] [stdout] --> src/basic_data_structure/dequeue/dequeue.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 118 | pub struct IterMut<'a, T: 'a> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `palindrome_checker` is never used [INFO] [stdout] --> src/basic_data_structure/dequeue/palindrome_checker.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn palindrome_checker(pal: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hot_potato` is never used [INFO] [stdout] --> src/basic_data_structure/queue/hot_potato.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn hot_potato(names: Vec<&str>, num: usize) -> &str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Queue` is never constructed [INFO] [stdout] --> src/basic_data_structure/queue/queue.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Queue { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Queue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/basic_data_structure/queue/queue.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Queue { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 10 | pub fn new(size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn enqueue(&mut self, val: T) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn dequeue(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn is_full(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `base_converter` is never used [INFO] [stdout] --> src/basic_data_structure/stack/base_converter.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn base_converter(mut dec_num: i32, base: i32) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `divide_by_two` is never used [INFO] [stdout] --> src/basic_data_structure/stack/divide_by_two.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn divide_by_two(mut dec_num: i32) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `infix_to_postfix` is never used [INFO] [stdout] --> src/basic_data_structure/stack/infix_to_postfix.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn infix_to_postfix(infix: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `par_checker1` is never used [INFO] [stdout] --> src/basic_data_structure/stack/par_checker1.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn par_checker1(par: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `par_match` is never used [INFO] [stdout] --> src/basic_data_structure/stack/par_checker2.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn par_match(open: char, close: char) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `par_checker2` is never used [INFO] [stdout] --> src/basic_data_structure/stack/par_checker2.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn par_checker2(par: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `par_checker3` is never used [INFO] [stdout] --> src/basic_data_structure/stack/par_checker3.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn par_checker3(par: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `postfix_eval` is never used [INFO] [stdout] --> src/basic_data_structure/stack/postfix_eval.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn postfix_eval(postfix: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `do_calc` is never used [INFO] [stdout] --> src/basic_data_structure/stack/postfix_eval.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn do_calc(op: &str, op1: i32, op2: i32) -> i32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Stack` is never constructed [INFO] [stdout] --> src/basic_data_structure/stack/stack.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct Stack { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Stack` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/basic_data_structure/stack/stack.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Stack { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 8 | //init a stack [INFO] [stdout] 9 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn push(&mut self, val: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn peek(&self) -> Option<&T> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn peek_mut(&mut self) -> Option<&mut T> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn into_iter(self) -> IntoIter { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IntoIter` is never constructed [INFO] [stdout] --> src/basic_data_structure/stack/stack.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct IntoIter(Stack); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Iter` is never constructed [INFO] [stdout] --> src/basic_data_structure/stack/stack.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | pub struct Iter<'a, T: 'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IterMut` is never constructed [INFO] [stdout] --> src/basic_data_structure/stack/stack.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 113 | pub struct IterMut<'a, T: 'a> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `binary_search` is never used [INFO] [stdout] --> src/searching/binary_search.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn binary_search(nums: &[i32], num: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exponential_search` is never used [INFO] [stdout] --> src/searching/exponential_search.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn exponential_search(nums: &[i32], target: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash1` is never used [INFO] [stdout] --> src/searching/hash.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn hash1(astr: &str, size: usize) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash2` is never used [INFO] [stdout] --> src/searching/hash2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn hash2(astr: &str, size: usize) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HashMap` is never constructed [INFO] [stdout] --> src/searching/hashmap.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct HashMap { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HashMap` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/searching/hashmap.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl HashMap { [INFO] [stdout] | ----------------------------------------------- associated items in this implementation [INFO] [stdout] 10 | pub fn new(cap: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn hash(&self, key: usize) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn rehash(&self, pos: usize) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn insert(&mut self, key: usize, value: T) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn remove(&mut self, key: usize) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn get_pos(&self, key: usize) -> usize { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | pub fn get(&self, key: usize) -> Option<&T> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn get_mut(&mut self, key: usize) -> Option<&mut T> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn contains(&self, key: usize) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Iter` is never constructed [INFO] [stdout] --> src/searching/hashmap.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 189 | pub struct Iter<'a, T: 'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IterMut` is never constructed [INFO] [stdout] --> src/searching/hashmap.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 199 | pub struct IterMut<'a, T: 'a> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `interpolation_search` is never used [INFO] [stdout] --> src/searching/interpolation_search.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn interpolation_search(nums: &[i32], target: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sequential_search` is never used [INFO] [stdout] --> src/searching/sequential_search.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn sequential_search(nums: &[i32], num: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bubble_sort` is never used [INFO] [stdout] --> src/sorting/bubble_sort.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn bubble_sort(nums: &mut [i32]) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `insertion_sort` is never used [INFO] [stdout] --> src/sorting/insertion_sort.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn insertion_sort(nums: &mut [i32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `merge_sort` is never used [INFO] [stdout] --> src/sorting/merge_sort.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn merge_sort(nums: &mut [i32]) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `merge` is never used [INFO] [stdout] --> src/sorting/merge_sort.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn merge(nums: &mut [i32], mid: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `quick_sort` is never used [INFO] [stdout] --> src/sorting/quick_sort.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn quick_sort(nums: &mut [i32], low: usize, high: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `selection_sort` is never used [INFO] [stdout] --> src/sorting/selection_sort.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn selection_sort(nums: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `shell_sort` is never used [INFO] [stdout] --> src/sorting/shell_sort.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn shell_sort(nums: &mut [i32]) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/basic_data_structure/dequeue/dequeue.rs:72:17 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 72 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/basic_data_structure/dequeue/dequeue.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 81 | pub fn iter_mut(&mut self) -> IterMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/basic_data_structure/stack/stack.rs:72:17 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 72 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/basic_data_structure/stack/stack.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 81 | pub fn iter_mut(&mut self) -> IterMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/searching/hashmap.rs:172:17 [INFO] [stdout] | [INFO] [stdout] 172 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 172 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/searching/hashmap.rs:180:21 [INFO] [stdout] | [INFO] [stdout] 180 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 180 | pub fn iter_mut(&mut self) -> IterMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.57s [INFO] running `Command { std: "docker" "inspect" "e9b977d26b0302c22434a872a0708d87b8b443fe36f9845b5e37de84519feac1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e9b977d26b0302c22434a872a0708d87b8b443fe36f9845b5e37de84519feac1", kill_on_drop: false }` [INFO] [stdout] e9b977d26b0302c22434a872a0708d87b8b443fe36f9845b5e37de84519feac1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 87059e0b6878c81cdb001b9f3422788529ef37b5fe02f2906823d1a78dfcf848 [INFO] running `Command { std: "docker" "start" "-a" "87059e0b6878c81cdb001b9f3422788529ef37b5fe02f2906823d1a78dfcf848", kill_on_drop: false }` [INFO] [stderr] Compiling learn-dsa v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: struct `Deque` is never constructed [INFO] [stdout] --> src/basic_data_structure/dequeue/dequeue.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct Deque { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Deque` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/basic_data_structure/dequeue/dequeue.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Deque { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 8 | pub fn new(cap: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn is_full(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn add_front(&mut self, val: T) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn add_rear(&mut self, val: T) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn remove_front(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn remove_rear(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn into_iter(self) -> IntoIter { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IntoIter` is never constructed [INFO] [stdout] --> src/basic_data_structure/dequeue/dequeue.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct IntoIter(Deque); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Iter` is never constructed [INFO] [stdout] --> src/basic_data_structure/dequeue/dequeue.rs:104:12 [INFO] [stdout] | [INFO] [stdout] 104 | pub struct Iter<'a, T: 'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IterMut` is never constructed [INFO] [stdout] --> src/basic_data_structure/dequeue/dequeue.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 118 | pub struct IterMut<'a, T: 'a> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `palindrome_checker` is never used [INFO] [stdout] --> src/basic_data_structure/dequeue/palindrome_checker.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn palindrome_checker(pal: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hot_potato` is never used [INFO] [stdout] --> src/basic_data_structure/queue/hot_potato.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn hot_potato(names: Vec<&str>, num: usize) -> &str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Queue` is never constructed [INFO] [stdout] --> src/basic_data_structure/queue/queue.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Queue { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Queue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/basic_data_structure/queue/queue.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Queue { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 10 | pub fn new(size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn enqueue(&mut self, val: T) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn dequeue(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn is_full(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `base_converter` is never used [INFO] [stdout] --> src/basic_data_structure/stack/base_converter.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn base_converter(mut dec_num: i32, base: i32) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `divide_by_two` is never used [INFO] [stdout] --> src/basic_data_structure/stack/divide_by_two.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn divide_by_two(mut dec_num: i32) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `infix_to_postfix` is never used [INFO] [stdout] --> src/basic_data_structure/stack/infix_to_postfix.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn infix_to_postfix(infix: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `par_checker1` is never used [INFO] [stdout] --> src/basic_data_structure/stack/par_checker1.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn par_checker1(par: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `par_match` is never used [INFO] [stdout] --> src/basic_data_structure/stack/par_checker2.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn par_match(open: char, close: char) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `par_checker2` is never used [INFO] [stdout] --> src/basic_data_structure/stack/par_checker2.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn par_checker2(par: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `par_checker3` is never used [INFO] [stdout] --> src/basic_data_structure/stack/par_checker3.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn par_checker3(par: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `postfix_eval` is never used [INFO] [stdout] --> src/basic_data_structure/stack/postfix_eval.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn postfix_eval(postfix: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `do_calc` is never used [INFO] [stdout] --> src/basic_data_structure/stack/postfix_eval.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn do_calc(op: &str, op1: i32, op2: i32) -> i32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Stack` is never constructed [INFO] [stdout] --> src/basic_data_structure/stack/stack.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct Stack { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Stack` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/basic_data_structure/stack/stack.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Stack { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 8 | //init a stack [INFO] [stdout] 9 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn push(&mut self, val: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn peek(&self) -> Option<&T> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn peek_mut(&mut self) -> Option<&mut T> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn into_iter(self) -> IntoIter { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IntoIter` is never constructed [INFO] [stdout] --> src/basic_data_structure/stack/stack.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct IntoIter(Stack); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Iter` is never constructed [INFO] [stdout] --> src/basic_data_structure/stack/stack.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | pub struct Iter<'a, T: 'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IterMut` is never constructed [INFO] [stdout] --> src/basic_data_structure/stack/stack.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 113 | pub struct IterMut<'a, T: 'a> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `binary_search` is never used [INFO] [stdout] --> src/searching/binary_search.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn binary_search(nums: &[i32], num: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exponential_search` is never used [INFO] [stdout] --> src/searching/exponential_search.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn exponential_search(nums: &[i32], target: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash1` is never used [INFO] [stdout] --> src/searching/hash.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn hash1(astr: &str, size: usize) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash2` is never used [INFO] [stdout] --> src/searching/hash2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn hash2(astr: &str, size: usize) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HashMap` is never constructed [INFO] [stdout] --> src/searching/hashmap.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct HashMap { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HashMap` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/searching/hashmap.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl HashMap { [INFO] [stdout] | ----------------------------------------------- associated items in this implementation [INFO] [stdout] 10 | pub fn new(cap: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn hash(&self, key: usize) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn rehash(&self, pos: usize) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn insert(&mut self, key: usize, value: T) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn remove(&mut self, key: usize) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn get_pos(&self, key: usize) -> usize { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | pub fn get(&self, key: usize) -> Option<&T> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn get_mut(&mut self, key: usize) -> Option<&mut T> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn contains(&self, key: usize) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Iter` is never constructed [INFO] [stdout] --> src/searching/hashmap.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 189 | pub struct Iter<'a, T: 'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IterMut` is never constructed [INFO] [stdout] --> src/searching/hashmap.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 199 | pub struct IterMut<'a, T: 'a> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `interpolation_search` is never used [INFO] [stdout] --> src/searching/interpolation_search.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn interpolation_search(nums: &[i32], target: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sequential_search` is never used [INFO] [stdout] --> src/searching/sequential_search.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn sequential_search(nums: &[i32], num: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bubble_sort` is never used [INFO] [stdout] --> src/sorting/bubble_sort.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn bubble_sort(nums: &mut [i32]) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `insertion_sort` is never used [INFO] [stdout] --> src/sorting/insertion_sort.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn insertion_sort(nums: &mut [i32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `merge_sort` is never used [INFO] [stdout] --> src/sorting/merge_sort.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn merge_sort(nums: &mut [i32]) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `merge` is never used [INFO] [stdout] --> src/sorting/merge_sort.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn merge(nums: &mut [i32], mid: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `quick_sort` is never used [INFO] [stdout] --> src/sorting/quick_sort.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn quick_sort(nums: &mut [i32], low: usize, high: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `selection_sort` is never used [INFO] [stdout] --> src/sorting/selection_sort.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn selection_sort(nums: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `shell_sort` is never used [INFO] [stdout] --> src/sorting/shell_sort.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn shell_sort(nums: &mut [i32]) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/basic_data_structure/dequeue/dequeue.rs:72:17 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 72 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/basic_data_structure/dequeue/dequeue.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 81 | pub fn iter_mut(&mut self) -> IterMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/basic_data_structure/stack/stack.rs:72:17 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 72 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/basic_data_structure/stack/stack.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 81 | pub fn iter_mut(&mut self) -> IterMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/searching/hashmap.rs:172:17 [INFO] [stdout] | [INFO] [stdout] 172 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 172 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/searching/hashmap.rs:180:21 [INFO] [stdout] | [INFO] [stdout] 180 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 180 | pub fn iter_mut(&mut self) -> IterMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.48s [INFO] running `Command { std: "docker" "inspect" "87059e0b6878c81cdb001b9f3422788529ef37b5fe02f2906823d1a78dfcf848", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "87059e0b6878c81cdb001b9f3422788529ef37b5fe02f2906823d1a78dfcf848", kill_on_drop: false }` [INFO] [stdout] 87059e0b6878c81cdb001b9f3422788529ef37b5fe02f2906823d1a78dfcf848 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 81f7131531a12fdb7fcc21e18f1786bebcb26f19bbf128c7bf4d5f2398642f18 [INFO] running `Command { std: "docker" "start" "-a" "81f7131531a12fdb7fcc21e18f1786bebcb26f19bbf128c7bf4d5f2398642f18", kill_on_drop: false }` [INFO] [stderr] warning: struct `Deque` is never constructed [INFO] [stderr] --> src/basic_data_structure/dequeue/dequeue.rs:2:12 [INFO] [stderr] | [INFO] [stderr] 2 | pub struct Deque { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Deque` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/basic_data_structure/dequeue/dequeue.rs:8:12 [INFO] [stderr] | [INFO] [stderr] 7 | impl Deque { [INFO] [stderr] | ---------------- associated items in this implementation [INFO] [stderr] 8 | pub fn new(cap: usize) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 15 | pub fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 19 | pub fn is_full(&self) -> bool { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 23 | pub fn len(&self) -> usize { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 27 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 32 | pub fn add_front(&mut self, val: T) -> Result<(), String> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 41 | pub fn add_rear(&mut self, val: T) -> Result<(), String> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 50 | pub fn remove_front(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 59 | pub fn remove_rear(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 68 | pub fn into_iter(self) -> IntoIter { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 72 | pub fn iter(&self) -> Iter { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 81 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `IntoIter` is never constructed [INFO] [stderr] --> src/basic_data_structure/dequeue/dequeue.rs:91:12 [INFO] [stderr] | [INFO] [stderr] 91 | pub struct IntoIter(Deque); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Iter` is never constructed [INFO] [stderr] --> src/basic_data_structure/dequeue/dequeue.rs:104:12 [INFO] [stderr] | [INFO] [stderr] 104 | pub struct Iter<'a, T: 'a> { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `IterMut` is never constructed [INFO] [stderr] --> src/basic_data_structure/dequeue/dequeue.rs:118:12 [INFO] [stderr] | [INFO] [stderr] 118 | pub struct IterMut<'a, T: 'a> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `palindrome_checker` is never used [INFO] [stderr] --> src/basic_data_structure/dequeue/palindrome_checker.rs:3:8 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn palindrome_checker(pal: &str) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `hot_potato` is never used [INFO] [stderr] --> src/basic_data_structure/queue/hot_potato.rs:3:8 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn hot_potato(names: Vec<&str>, num: usize) -> &str { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Queue` is never constructed [INFO] [stderr] --> src/basic_data_structure/queue/queue.rs:4:12 [INFO] [stderr] | [INFO] [stderr] 4 | pub struct Queue { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Queue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/basic_data_structure/queue/queue.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 9 | impl Queue { [INFO] [stderr] | ---------------- associated items in this implementation [INFO] [stderr] 10 | pub fn new(size: usize) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 17 | pub fn enqueue(&mut self, val: T) -> Result<(), String> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 26 | pub fn dequeue(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 30 | pub fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 34 | pub fn len(&self) -> usize { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 38 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 42 | pub fn is_full(&self) -> bool { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `base_converter` is never used [INFO] [stderr] --> src/basic_data_structure/stack/base_converter.rs:3:8 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn base_converter(mut dec_num: i32, base: i32) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `divide_by_two` is never used [INFO] [stderr] --> src/basic_data_structure/stack/divide_by_two.rs:3:8 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn divide_by_two(mut dec_num: i32) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `infix_to_postfix` is never used [INFO] [stderr] --> src/basic_data_structure/stack/infix_to_postfix.rs:5:8 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn infix_to_postfix(infix: &str) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `par_checker1` is never used [INFO] [stderr] --> src/basic_data_structure/stack/par_checker1.rs:5:8 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn par_checker1(par: &str) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `par_match` is never used [INFO] [stderr] --> src/basic_data_structure/stack/par_checker2.rs:4:8 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn par_match(open: char, close: char) -> bool { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `par_checker2` is never used [INFO] [stderr] --> src/basic_data_structure/stack/par_checker2.rs:11:8 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn par_checker2(par: &str) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `par_checker3` is never used [INFO] [stderr] --> src/basic_data_structure/stack/par_checker3.rs:4:8 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn par_checker3(par: &str) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `postfix_eval` is never used [INFO] [stderr] --> src/basic_data_structure/stack/postfix_eval.rs:3:8 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn postfix_eval(postfix: &str) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `do_calc` is never used [INFO] [stderr] --> src/basic_data_structure/stack/postfix_eval.rs:26:8 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn do_calc(op: &str, op1: i32, op2: i32) -> i32 { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Stack` is never constructed [INFO] [stderr] --> src/basic_data_structure/stack/stack.rs:2:12 [INFO] [stderr] | [INFO] [stderr] 2 | pub struct Stack { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Stack` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/basic_data_structure/stack/stack.rs:9:12 [INFO] [stderr] | [INFO] [stderr] 7 | impl Stack { [INFO] [stderr] | ---------------- associated items in this implementation [INFO] [stderr] 8 | //init a stack [INFO] [stderr] 9 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 17 | pub fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 22 | pub fn len(&self) -> usize { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 27 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 33 | pub fn push(&mut self, val: T) { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 39 | pub fn pop(&mut self) -> Option { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 48 | pub fn peek(&self) -> Option<&T> { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 56 | pub fn peek_mut(&mut self) -> Option<&mut T> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 68 | pub fn into_iter(self) -> IntoIter { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 72 | pub fn iter(&self) -> Iter { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 81 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `IntoIter` is never constructed [INFO] [stderr] --> src/basic_data_structure/stack/stack.rs:91:12 [INFO] [stderr] | [INFO] [stderr] 91 | pub struct IntoIter(Stack); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Iter` is never constructed [INFO] [stderr] --> src/basic_data_structure/stack/stack.rs:103:12 [INFO] [stderr] | [INFO] [stderr] 103 | pub struct Iter<'a, T: 'a> { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `IterMut` is never constructed [INFO] [stderr] --> src/basic_data_structure/stack/stack.rs:113:12 [INFO] [stderr] | [INFO] [stderr] 113 | pub struct IterMut<'a, T: 'a> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `binary_search` is never used [INFO] [stderr] --> src/searching/binary_search.rs:1:8 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn binary_search(nums: &[i32], num: i32) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `exponential_search` is never used [INFO] [stderr] --> src/searching/exponential_search.rs:3:8 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn exponential_search(nums: &[i32], target: i32) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `hash1` is never used [INFO] [stderr] --> src/searching/hash.rs:1:8 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn hash1(astr: &str, size: usize) -> usize { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `hash2` is never used [INFO] [stderr] --> src/searching/hash2.rs:1:8 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn hash2(astr: &str, size: usize) -> usize { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `HashMap` is never constructed [INFO] [stderr] --> src/searching/hashmap.rs:4:12 [INFO] [stderr] | [INFO] [stderr] 4 | pub struct HashMap { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `HashMap` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/searching/hashmap.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 9 | impl HashMap { [INFO] [stderr] | ----------------------------------------------- associated items in this implementation [INFO] [stderr] 10 | pub fn new(cap: usize) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 22 | pub fn len(&self) -> usize { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 34 | pub fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 46 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 58 | pub fn hash(&self, key: usize) -> usize { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 62 | pub fn rehash(&self, pos: usize) -> usize { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 66 | pub fn insert(&mut self, key: usize, value: T) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 95 | pub fn remove(&mut self, key: usize) -> Option { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 131 | pub fn get_pos(&self, key: usize) -> usize { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 155 | pub fn get(&self, key: usize) -> Option<&T> { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 160 | pub fn get_mut(&mut self, key: usize) -> Option<&mut T> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 165 | pub fn contains(&self, key: usize) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 172 | pub fn iter(&self) -> Iter { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 180 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Iter` is never constructed [INFO] [stderr] --> src/searching/hashmap.rs:189:12 [INFO] [stderr] | [INFO] [stderr] 189 | pub struct Iter<'a, T: 'a> { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `IterMut` is never constructed [INFO] [stderr] --> src/searching/hashmap.rs:199:12 [INFO] [stderr] | [INFO] [stderr] 199 | pub struct IterMut<'a, T: 'a> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `interpolation_search` is never used [INFO] [stderr] --> src/searching/interpolation_search.rs:1:8 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn interpolation_search(nums: &[i32], target: i32) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `sequential_search` is never used [INFO] [stderr] --> src/searching/sequential_search.rs:1:8 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn sequential_search(nums: &[i32], num: i32) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `bubble_sort` is never used [INFO] [stderr] --> src/sorting/bubble_sort.rs:1:8 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn bubble_sort(nums: &mut [i32]) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `insertion_sort` is never used [INFO] [stderr] --> src/sorting/insertion_sort.rs:1:8 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn insertion_sort(nums: &mut [i32]) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `merge_sort` is never used [INFO] [stderr] --> src/sorting/merge_sort.rs:1:8 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn merge_sort(nums: &mut [i32]) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `merge` is never used [INFO] [stderr] --> src/sorting/merge_sort.rs:10:8 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn merge(nums: &mut [i32], mid: usize) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `quick_sort` is never used [INFO] [stderr] --> src/sorting/quick_sort.rs:1:8 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn quick_sort(nums: &mut [i32], low: usize, high: usize) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `selection_sort` is never used [INFO] [stderr] --> src/sorting/selection_sort.rs:1:8 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn selection_sort(nums: &mut Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `shell_sort` is never used [INFO] [stderr] --> src/sorting/shell_sort.rs:1:8 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn shell_sort(nums: &mut [i32]) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/basic_data_structure/dequeue/dequeue.rs:72:17 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn iter(&self) -> Iter { [INFO] [stderr] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 72 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/basic_data_structure/dequeue/dequeue.rs:81:21 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stderr] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 81 | pub fn iter_mut(&mut self) -> IterMut<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/basic_data_structure/stack/stack.rs:72:17 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn iter(&self) -> Iter { [INFO] [stderr] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 72 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/basic_data_structure/stack/stack.rs:81:21 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stderr] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 81 | pub fn iter_mut(&mut self) -> IterMut<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/searching/hashmap.rs:172:17 [INFO] [stderr] | [INFO] [stderr] 172 | pub fn iter(&self) -> Iter { [INFO] [stderr] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 172 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/searching/hashmap.rs:180:21 [INFO] [stderr] | [INFO] [stderr] 180 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stderr] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 180 | pub fn iter_mut(&mut self) -> IterMut<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `learn-dsa` (bin "learn-dsa" test) generated 46 warnings (run `cargo fix --bin "learn-dsa" --tests` to apply 6 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/learn_dsa-a5f00d04c8e2eb24) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "81f7131531a12fdb7fcc21e18f1786bebcb26f19bbf128c7bf4d5f2398642f18", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "81f7131531a12fdb7fcc21e18f1786bebcb26f19bbf128c7bf4d5f2398642f18", kill_on_drop: false }` [INFO] [stdout] 81f7131531a12fdb7fcc21e18f1786bebcb26f19bbf128c7bf4d5f2398642f18