[INFO] cloning repository https://github.com/fraggdiller/mp_lab_ii [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fraggdiller/mp_lab_ii" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffraggdiller%2Fmp_lab_ii", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffraggdiller%2Fmp_lab_ii'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5d630f0cd51c5f59ce9d1d4abffc404d481a8fab [INFO] linting fraggdiller/mp_lab_ii against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffraggdiller%2Fmp_lab_ii" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/fraggdiller/mp_lab_ii [INFO] finished tweaking git repo https://github.com/fraggdiller/mp_lab_ii [INFO] tweaked toml for git repo https://github.com/fraggdiller/mp_lab_ii written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/fraggdiller/mp_lab_ii on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/fraggdiller/mp_lab_ii 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a17926970d5cb52036c1424078753a96b26da4dbf7e6a535f649faacc93ecf01 [INFO] running `Command { std: "docker" "start" "-a" "a17926970d5cb52036c1424078753a96b26da4dbf7e6a535f649faacc93ecf01", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a17926970d5cb52036c1424078753a96b26da4dbf7e6a535f649faacc93ecf01", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a17926970d5cb52036c1424078753a96b26da4dbf7e6a535f649faacc93ecf01", kill_on_drop: false }` [INFO] [stdout] a17926970d5cb52036c1424078753a96b26da4dbf7e6a535f649faacc93ecf01 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9367300a5911793afb7025e3669f3ed7675eac814b6f0c4a08e064487cfa044a [INFO] running `Command { std: "docker" "start" "-a" "9367300a5911793afb7025e3669f3ed7675eac814b6f0c4a08e064487cfa044a", kill_on_drop: false }` [INFO] [stderr] Checking mp_lab_ii v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `super::PriorityQueue` [INFO] [stdout] --> src/lr_1/test_queue.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::PriorityQueue; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::HashMap` [INFO] [stdout] --> src/lr_4/test_hash_map.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Edge` and `Graph` [INFO] [stdout] --> src/lr_5/mod.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | pub use graph_a::{ Graph, Edge }; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Edge as EdgeB`, `Graph as GraphB`, and `KosarajuGraph` [INFO] [stdout] --> src/lr_5/mod.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | pub use graph_b::{ Graph as GraphB, Edge as EdgeB, KosarajuGraph }; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PriorityQueue` is never constructed [INFO] [stdout] --> src/lr_1/priority_queue.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct PriorityQueue [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `is_empty`, `size`, `push`, `pop`, and `peek` are never used [INFO] [stdout] --> src/lr_1/priority_queue.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 13 | / impl PriorityQueue [INFO] [stdout] 14 | | where [INFO] [stdout] 15 | | T: Ord, [INFO] [stdout] | |_______________- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn push(&mut self, item: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn peek(&self) -> Option<&T> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `TreeNode` is never used [INFO] [stdout] --> src/lr_2/base.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait TreeNode { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Tree` is never used [INFO] [stdout] --> src/lr_2/base.rs:109:11 [INFO] [stdout] | [INFO] [stdout] 109 | pub trait Tree> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NodeColor` is never used [INFO] [stdout] --> src/lr_2/rbtree.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | enum NodeColor { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `RcRefcellRBTNode` is never used [INFO] [stdout] --> src/lr_2/rbtree.rs:17:6 [INFO] [stdout] | [INFO] [stdout] 17 | type RcRefcellRBTNode = Rc>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `OptionNode` is never used [INFO] [stdout] --> src/lr_2/rbtree.rs:18:6 [INFO] [stdout] | [INFO] [stdout] 18 | type OptionNode = Option>; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RBTreeNode` is never constructed [INFO] [stdout] --> src/lr_2/rbtree.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct RBTreeNode { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RBTree` is never constructed [INFO] [stdout] --> src/lr_2/rbtree.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct RBTree { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `print_node` are never used [INFO] [stdout] --> src/lr_2/rbtree.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl RBTreeNode { [INFO] [stdout] | ----------------------------------------- associated items in this implementation [INFO] [stdout] 55 | fn new(value: T) -> RBTreeNode { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | fn print_node(&self, prefix_space: &String, child_prefix: String, is_right: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `search`, and `clear` are never used [INFO] [stdout] --> src/lr_2/rbtree.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 109 | impl RBTree { [INFO] [stdout] | ------------------------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | fn search(&mut self, value: T) -> (bool, OptionNode) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 508 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `RcRefcellBSNode` is never used [INFO] [stdout] --> src/lr_3/btree.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type RcRefcellBSNode= Rc>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `OptionNode` is never used [INFO] [stdout] --> src/lr_3/btree.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | type OptionNode= Option>; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BSTreeNode` is never constructed [INFO] [stdout] --> src/lr_3/btree.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct BSTreeNode { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BSTree` is never constructed [INFO] [stdout] --> src/lr_3/btree.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct BSTree { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `insert`, `delete`, and `print_node` are never used [INFO] [stdout] --> src/lr_3/btree.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 35 | impl BSTreeNode { [INFO] [stdout] | ------------------------------------------ associated items in this implementation [INFO] [stdout] 36 | fn new(value: T) -> BSTreeNode { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | fn insert(&mut self, value: T) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | fn delete(&mut self, value: T) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | fn print_node(&self, prefix_space: &String, child_prefix: String, is_right: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `clear` are never used [INFO] [stdout] --> src/lr_3/btree.rs:209:12 [INFO] [stdout] | [INFO] [stdout] 208 | impl BSTree { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] 209 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `TreeNode` is never used [INFO] [stdout] --> src/lr_3/base.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait TreeNode { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Tree` is never used [INFO] [stdout] --> src/lr_3/base.rs:109:11 [INFO] [stdout] | [INFO] [stdout] 109 | pub trait Tree> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HashMap` is never constructed [INFO] [stdout] --> src/lr_4/hash_map.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct HashMap { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/lr_4/hash_map.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl HashMap { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn initialize_buckets(mut self, capacity: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn insert(&mut self, key: K, value: V) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn remove(&mut self, key: &K) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn get(&self, key: &K) -> Option<&V> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | fn current_load_factor(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn rehash(&mut self, new_size: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | fn resize(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | fn get_index(&self, key: &K) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | fn get_index_for_key(&self, key: &K, size: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Edge` is never constructed [INFO] [stdout] --> src/lr_5/graph_a.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Edge { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DisjointSet` is never constructed [INFO] [stdout] --> src/lr_5/graph_a.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | struct DisjointSet { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find`, and `union` are never used [INFO] [stdout] --> src/lr_5/graph_a.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl DisjointSet { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new(size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn find(&mut self, node: usize) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn union(&mut self, node1: usize, node2: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Graph` is never constructed [INFO] [stdout] --> src/lr_5/graph_a.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct Graph { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/lr_5/graph_a.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl Graph { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 52 | pub fn new(adj_list: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn dfs(&self, start: usize, visited: &mut Vec) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn bfs(&self, start: usize) -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn dijkstra(&self, start: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn kruskal(&self) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn prim(&self, start: usize) -> Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn floyd_warshall(&self) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Edge` is never constructed [INFO] [stdout] --> src/lr_5/graph_b.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct Edge { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Graph` is never constructed [INFO] [stdout] --> src/lr_5/graph_b.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Graph { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KosarajuGraph` is never constructed [INFO] [stdout] --> src/lr_5/graph_b.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct KosarajuGraph { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_edge`, `dfs`, `dfs_scc`, and `kosaraju` are never used [INFO] [stdout] --> src/lr_5/graph_b.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl KosarajuGraph { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 22 | pub fn new(vertices: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn add_edge(&mut self, u: usize, v: usize) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn dfs(&self, node: usize, visited: &mut Vec, stack: &mut Vec) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn dfs_scc(&self, node: usize, visited: &mut Vec, scc: &mut Vec) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn kosaraju(&self) -> Vec> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/lr_5/graph_b.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 81 | impl Graph { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 82 | pub fn new(vertices: usize, adj_list: Vec>, is_directed: bool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | fn dfs_topological(&self, node: usize, visited: &mut Vec, stack: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn tarjan_topological_sort(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | fn is_eulerian(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | fn remove_edge(&mut self, u: usize, v: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub fn fleury_algorithm(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn find_eulerian_cycle(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MODULUS` is never used [INFO] [stdout] --> src/lr_6/substring.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | const MODULUS: u16 = 101; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BASE` is never used [INFO] [stdout] --> src/lr_6/substring.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const BASE: u16 = 256; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `boyer_moore_search` is never used [INFO] [stdout] --> src/lr_6/substring.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn boyer_moore_search(text: &str, pattern: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash` is never used [INFO] [stdout] --> src/lr_6/substring.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn hash(s: &str) -> u16 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `recalculate_hash` is never used [INFO] [stdout] --> src/lr_6/substring.rs:57:4 [INFO] [stdout] | [INFO] [stdout] 57 | fn recalculate_hash( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rabin_karp_search` is never used [INFO] [stdout] --> src/lr_6/substring.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn rabin_karp_search(target: &str, pattern: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_lps` is never used [INFO] [stdout] --> src/lr_6/substring.rs:104:4 [INFO] [stdout] | [INFO] [stdout] 104 | fn compute_lps(pattern: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `knuth_morris_pratt_search` is never used [INFO] [stdout] --> src/lr_6/substring.rs:120:8 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn knuth_morris_pratt_search(text: &str, pattern: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/lr_2/base.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | / match &self.get_root() { [INFO] [stdout] 167 | | None => None, [INFO] [stdout] 168 | | Some(node) => Some(node.borrow().get_min()), [INFO] [stdout] 169 | | } [INFO] [stdout] | |_________^ help: try: `self.get_root().as_ref().map(|node| node.borrow().get_min())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/lr_2/base.rs:193:9 [INFO] [stdout] | [INFO] [stdout] 193 | / match &self.get_root() { [INFO] [stdout] 194 | | None => None, [INFO] [stdout] 195 | | Some(node) => Some(node.borrow().get_max()), [INFO] [stdout] 196 | | } [INFO] [stdout] | |_________^ help: try: `self.get_root().as_ref().map(|node| node.borrow().get_max())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lr_2/base.rs:272:17 [INFO] [stdout] | [INFO] [stdout] 272 | return }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 271 - None => { println!("This tree is empty!"); [INFO] [stdout] 272 - return }, [INFO] [stdout] 271 + None => { println!("This tree is empty!"); }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lr_2/base.rs:305:17 [INFO] [stdout] | [INFO] [stdout] 305 | return }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 304 - None => { println!("This tree is empty!"); [INFO] [stdout] 305 - return }, [INFO] [stdout] 304 + None => { println!("This tree is empty!"); }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lr_2/base.rs:338:17 [INFO] [stdout] | [INFO] [stdout] 338 | return }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 337 - None => { println!("This tree is empty!"); [INFO] [stdout] 338 - return }, [INFO] [stdout] 337 + None => { println!("This tree is empty!"); }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/lr_2/base.rs:389:9 [INFO] [stdout] | [INFO] [stdout] 389 | / match &self.get_root() { [INFO] [stdout] 390 | | Some(_) => false, [INFO] [stdout] 391 | | None => true, [INFO] [stdout] 392 | | } [INFO] [stdout] | |_________^ help: try: `self.get_root().is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lr_2/rbtree.rs:223:9 [INFO] [stdout] | [INFO] [stdout] 223 | return (false, parent); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 223 - return (false, parent); [INFO] [stdout] 223 + (false, parent) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/lr_2/rbtree.rs:212:25 [INFO] [stdout] | [INFO] [stdout] 212 | child = match parent_node.borrow().left { [INFO] [stdout] | _________________________^ [INFO] [stdout] 213 | | Some(ref node) => Some(node.clone()), [INFO] [stdout] 214 | | None => None, [INFO] [stdout] 215 | | }; [INFO] [stdout] | |_________________^ help: try: `parent_node.borrow().left.as_ref().map(|node| node.clone())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/lr_2/rbtree.rs:217:25 [INFO] [stdout] | [INFO] [stdout] 217 | child = match parent_node.borrow().right { [INFO] [stdout] | _________________________^ [INFO] [stdout] 218 | | Some(ref node) => Some(node.clone()), [INFO] [stdout] 219 | | None => None, [INFO] [stdout] 220 | | }; [INFO] [stdout] | |_________________^ help: try: `parent_node.borrow().right.as_ref().map(|node| node.clone())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lr_2/rbtree.rs:306:9 [INFO] [stdout] | [INFO] [stdout] 306 | return node; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 306 - return node; [INFO] [stdout] 306 + node [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `replacement` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:362:31 [INFO] [stdout] | [INFO] [stdout] 341 | if replacement.is_none() { [INFO] [stdout] | ------------------------ help: try: `if let Some() = &replacement` [INFO] [stdout] ... [INFO] [stdout] 362 | let temp: T = replacement.as_ref().unwrap().borrow().key; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `replacement` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:375:17 [INFO] [stdout] | [INFO] [stdout] 341 | if replacement.is_none() { [INFO] [stdout] | ------------------------ help: try: `if let Some() = &replacement` [INFO] [stdout] ... [INFO] [stdout] 375 | replacement.as_ref().unwrap().borrow_mut().parent = parent.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `replacement` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:378:46 [INFO] [stdout] | [INFO] [stdout] 341 | if replacement.is_none() { [INFO] [stdout] | ------------------------ help: try: `if let Some() = &replacement` [INFO] [stdout] ... [INFO] [stdout] 378 | Self::_change_color(&mut replacement.as_ref().unwrap(), NodeColor::Black); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `replacement` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:380:42 [INFO] [stdout] | [INFO] [stdout] 341 | if replacement.is_none() { [INFO] [stdout] | ------------------------ help: try: `if let Some() = replacement` [INFO] [stdout] ... [INFO] [stdout] 380 | self._delete_repair(&replacement.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `replacement` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:388:27 [INFO] [stdout] | [INFO] [stdout] 341 | if replacement.is_none() { [INFO] [stdout] | ------------------------ help: try: `if let Some() = &replacement` [INFO] [stdout] ... [INFO] [stdout] 388 | let temp: T = replacement.as_ref().unwrap().borrow().key; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `replacement` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:390:39 [INFO] [stdout] | [INFO] [stdout] 341 | if replacement.is_none() { [INFO] [stdout] | ------------------------ help: try: `if let Some() = &replacement` [INFO] [stdout] ... [INFO] [stdout] 390 | self._delete_private(&mut replacement.as_ref().unwrap()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:409:36 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 409 | if Self::_return_color(sibling.as_ref().unwrap()) == NodeColor::Black { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:411:42 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 411 | if !Self::_has_red_child(sibling.as_ref().unwrap()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:412:46 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 412 | Self::_change_color(&mut sibling.as_ref().unwrap(), NodeColor::Red); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:421:28 [INFO] [stdout] | [INFO] [stdout] 405 | ... if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 421 | ... if sibling.as_ref().unwrap().borrow().left.is_some() && Self::_return_color(sibling.as_ref().unwrap().borrow(... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:421:101 [INFO] [stdout] | [INFO] [stdout] 405 | ... if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 421 | ... if sibling.as_ref().unwrap().borrow().left.is_some() && Self::_return_color(sibling.as_ref().unwrap().borrow(... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:422:54 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 422 | Self::_change_color(&mut sibling.as_ref().unwrap().borrow().left.as_ref().unwrap(), NodeColor::Black); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:424:54 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 424 | Self::_change_color(&mut sibling.as_ref().unwrap(), parent_color); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:430:54 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 430 | Self::_change_color(&mut sibling.as_ref().unwrap().borrow().right.as_ref().unwrap(), parent_color); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:431:47 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 431 | self._left_rotate(sibling.as_ref().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:437:28 [INFO] [stdout] | [INFO] [stdout] 405 | ... if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 437 | ... if sibling.as_ref().unwrap().borrow().left.is_some() && Self::_return_color(sibling.as_ref().unwrap().borrow(... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:437:101 [INFO] [stdout] | [INFO] [stdout] 405 | ... if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 437 | ... if sibling.as_ref().unwrap().borrow().left.is_some() && Self::_return_color(sibling.as_ref().unwrap().borrow(... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:439:54 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 439 | Self::_change_color(&mut sibling.as_ref().unwrap().borrow().left.as_ref().unwrap(), parent_color); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:440:48 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 440 | self._right_rotate(sibling.as_ref().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:445:54 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 445 | Self::_change_color(&mut sibling.as_ref().unwrap().borrow().right.as_ref().unwrap(), NodeColor::Black); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:447:54 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 447 | Self::_change_color(&mut sibling.as_ref().unwrap(), parent_color); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:456:42 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 456 | Self::_change_color(&mut sibling.as_ref().unwrap(), NodeColor::Black); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `unwrap()` on `Some` value [INFO] [stdout] --> src/lr_2/rbtree.rs:406:34 [INFO] [stdout] | [INFO] [stdout] 406 | self._delete_repair(&parent.unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the `Some` and `unwrap()` [INFO] [stdout] --> src/lr_2/rbtree.rs:400:22 [INFO] [stdout] | [INFO] [stdout] 400 | let parent = Some(Rc::clone(node.borrow().parent.as_ref().unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_literal_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_literal_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `unwrap()` on `Some` value [INFO] [stdout] --> src/lr_2/rbtree.rs:416:46 [INFO] [stdout] | [INFO] [stdout] 416 | self._delete_repair(&parent.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the `Some` and `unwrap()` [INFO] [stdout] --> src/lr_2/rbtree.rs:400:22 [INFO] [stdout] | [INFO] [stdout] 400 | let parent = Some(Rc::clone(node.borrow().parent.as_ref().unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_literal_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `borrowed_node.parent` after checking its variant with `is_some` [INFO] [stdout] --> src/lr_2/rbtree.rs:480:30 [INFO] [stdout] | [INFO] [stdout] 479 | if borrowed_node.parent.is_some() { [INFO] [stdout] | --------------------------------- help: try: `if let Some() = &borrowed_node.parent` [INFO] [stdout] 480 | let parent_node=&borrowed_node.parent.as_ref().unwrap().borrow(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lr_2/rbtree.rs:487:9 [INFO] [stdout] | [INFO] [stdout] 487 | return None [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 487 - return None [INFO] [stdout] 487 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/lr_2/rbtree.rs:579:73 [INFO] [stdout] | [INFO] [stdout] 579 | let parent_ref: RcRefcellRBTNode = Rc::clone(&parent_option.as_ref().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `parent_option.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lr_3/btree.rs:79:60 [INFO] [stdout] | [INFO] [stdout] 79 | } else if right.borrow().left.is_none() && !right.borrow().right.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `right.borrow().right.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lr_3/btree.rs:83:27 [INFO] [stdout] | [INFO] [stdout] 83 | } else if !right.borrow().left.is_none() && right.borrow().right.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `right.borrow().left.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/lr_3/btree.rs:80:21 [INFO] [stdout] | [INFO] [stdout] 80 | / self.right.take().map(|node| { [INFO] [stdout] 81 | | self.right = node.borrow().right.clone() [INFO] [stdout] 82 | | }); [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] = note: `#[warn(clippy::option_map_unit_fn)]` on by default [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 80 - self.right.take().map(|node| { [INFO] [stdout] 81 - self.right = node.borrow().right.clone() [INFO] [stdout] 82 - }); [INFO] [stdout] 80 + if let Some(node) = self.right.take() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/lr_3/btree.rs:84:21 [INFO] [stdout] | [INFO] [stdout] 84 | / self.right.take().map(|node| { [INFO] [stdout] 85 | | self.right = node.borrow().left.clone() [INFO] [stdout] 86 | | }); [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 84 - self.right.take().map(|node| { [INFO] [stdout] 85 - self.right = node.borrow().left.clone() [INFO] [stdout] 86 - }); [INFO] [stdout] 84 + if let Some(node) = self.right.take() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lr_3/btree.rs:101:59 [INFO] [stdout] | [INFO] [stdout] 101 | } else if left.borrow().left.is_none() && !left.borrow().right.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `left.borrow().right.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lr_3/btree.rs:105:27 [INFO] [stdout] | [INFO] [stdout] 105 | } else if !left.borrow().left.is_none() && left.borrow().right.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `left.borrow().left.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/lr_3/btree.rs:102:21 [INFO] [stdout] | [INFO] [stdout] 102 | / self.left.take().map(|node| { [INFO] [stdout] 103 | | self.left = node.borrow().right.clone() [INFO] [stdout] 104 | | }); [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 102 - self.left.take().map(|node| { [INFO] [stdout] 103 - self.left = node.borrow().right.clone() [INFO] [stdout] 104 - }); [INFO] [stdout] 102 + if let Some(node) = self.left.take() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/lr_3/btree.rs:106:21 [INFO] [stdout] | [INFO] [stdout] 106 | / self.left.take().map(|node| { [INFO] [stdout] 107 | | self.left = node.borrow().left.clone() [INFO] [stdout] 108 | | }); [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 106 - self.left.take().map(|node| { [INFO] [stdout] 107 - self.left = node.borrow().left.clone() [INFO] [stdout] 108 - }); [INFO] [stdout] 106 + if let Some(node) = self.left.take() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.root` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_3/btree.rs:165:13 [INFO] [stdout] | [INFO] [stdout] 162 | if self.root.is_none() { [INFO] [stdout] | ---------------------- help: try: `if let Some() = &self.root` [INFO] [stdout] ... [INFO] [stdout] 165 | self.root.as_ref().unwrap().borrow_mut().insert(value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lr_3/btree.rs:178:63 [INFO] [stdout] | [INFO] [stdout] 178 | } else if root.borrow().left.is_none() && !root.borrow().right.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `root.borrow().right.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lr_3/btree.rs:182:31 [INFO] [stdout] | [INFO] [stdout] 182 | } else if !root.borrow().left.is_none() && root.borrow().right.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `root.borrow().left.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lr_3/btree.rs:172:13 [INFO] [stdout] | [INFO] [stdout] 172 | return ; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 171 - println!("The node of value {:#?} doesn't exist.",value); [INFO] [stdout] 172 - return ; [INFO] [stdout] 171 + println!("The node of value {:#?} doesn't exist.",value); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/lr_3/btree.rs:179:25 [INFO] [stdout] | [INFO] [stdout] 179 | / self.root.take().map(|node| { [INFO] [stdout] 180 | | self.root = node.borrow().right.clone() [INFO] [stdout] 181 | | }); [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 179 - self.root.take().map(|node| { [INFO] [stdout] 180 - self.root = node.borrow().right.clone() [INFO] [stdout] 181 - }); [INFO] [stdout] 179 + if let Some(node) = self.root.take() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/lr_3/btree.rs:183:25 [INFO] [stdout] | [INFO] [stdout] 183 | / self.root.take().map(|node| { [INFO] [stdout] 184 | | self.root = node.borrow().left.clone() [INFO] [stdout] 185 | | }); [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 183 - self.root.take().map(|node| { [INFO] [stdout] 184 - self.root = node.borrow().left.clone() [INFO] [stdout] 185 - }); [INFO] [stdout] 183 + if let Some(node) = self.root.take() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/lr_3/base.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | / match &self.get_root() { [INFO] [stdout] 167 | | None => None, [INFO] [stdout] 168 | | Some(node) => Some(node.borrow().get_min()), [INFO] [stdout] 169 | | } [INFO] [stdout] | |_________^ help: try: `self.get_root().as_ref().map(|node| node.borrow().get_min())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/lr_3/base.rs:193:9 [INFO] [stdout] | [INFO] [stdout] 193 | / match &self.get_root() { [INFO] [stdout] 194 | | None => None, [INFO] [stdout] 195 | | Some(node) => Some(node.borrow().get_max()), [INFO] [stdout] 196 | | } [INFO] [stdout] | |_________^ help: try: `self.get_root().as_ref().map(|node| node.borrow().get_max())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lr_3/base.rs:272:17 [INFO] [stdout] | [INFO] [stdout] 272 | return }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 271 - None => { println!("This tree is empty!"); [INFO] [stdout] 272 - return }, [INFO] [stdout] 271 + None => { println!("This tree is empty!"); }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lr_3/base.rs:305:17 [INFO] [stdout] | [INFO] [stdout] 305 | return }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 304 - None => { println!("This tree is empty!"); [INFO] [stdout] 305 - return }, [INFO] [stdout] 304 + None => { println!("This tree is empty!"); }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lr_3/base.rs:338:17 [INFO] [stdout] | [INFO] [stdout] 338 | return }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 337 - None => { println!("This tree is empty!"); [INFO] [stdout] 338 - return }, [INFO] [stdout] 337 + None => { println!("This tree is empty!"); }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/lr_3/base.rs:389:9 [INFO] [stdout] | [INFO] [stdout] 389 | / match &self.get_root() { [INFO] [stdout] 390 | | Some(_) => false, [INFO] [stdout] 391 | | None => true, [INFO] [stdout] 392 | | } [INFO] [stdout] | |_________^ help: try: `self.get_root().is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `dist` [INFO] [stdout] --> src/lr_5/graph_a.rs:173:18 [INFO] [stdout] | [INFO] [stdout] 173 | for i in 0..n { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 173 - for i in 0..n { [INFO] [stdout] 173 + for (i, ) in dist.iter_mut().enumerate().take(n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/lr_5/graph_b.rs:130:16 [INFO] [stdout] | [INFO] [stdout] 130 | if degree % 2 != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace with: `!degree.is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `text_bytes` [INFO] [stdout] --> src/lr_6/substring.rs:131:14 [INFO] [stdout] | [INFO] [stdout] 131 | for i in 0..text.len() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 131 - for i in 0..text.len() { [INFO] [stdout] 131 + for (i, ) in text_bytes.iter().enumerate().take(text.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `traverse_inorder`, `traverse_preorder`, and `traverse_postorder` are never used [INFO] [stdout] --> src/lr_2/base.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait TreeNode { [INFO] [stdout] | -------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 60 | fn traverse_inorder(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | fn traverse_preorder(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | fn traverse_postorder(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `print_tree`, `traverse_inorder`, `traverse_preorder`, and `traverse_postorder` are never used [INFO] [stdout] --> src/lr_2/base.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 109 | pub trait Tree> { [INFO] [stdout] | ---- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 116 | fn print_tree(&self); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | fn traverse_inorder(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 302 | fn traverse_preorder(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 335 | fn traverse_postorder(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print_node` is never used [INFO] [stdout] --> src/lr_2/rbtree.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl RBTreeNode { [INFO] [stdout] | ----------------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 65 | fn print_node(&self, prefix_space: &String, child_prefix: String, is_right: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print_node` is never used [INFO] [stdout] --> src/lr_3/btree.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 35 | impl BSTreeNode { [INFO] [stdout] | ------------------------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 118 | fn print_node(&self, prefix_space: &String, child_prefix: String, is_right: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `traverse_inorder`, `traverse_preorder`, and `traverse_postorder` are never used [INFO] [stdout] --> src/lr_3/base.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait TreeNode { [INFO] [stdout] | -------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 60 | fn traverse_inorder(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | fn traverse_preorder(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | fn traverse_postorder(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `print_tree`, `traverse_inorder`, `traverse_preorder`, and `traverse_postorder` are never used [INFO] [stdout] --> src/lr_3/base.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 109 | pub trait Tree> { [INFO] [stdout] | ---- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 116 | fn print_tree(&self); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | fn traverse_inorder(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 302 | fn traverse_preorder(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 335 | fn traverse_postorder(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `vertices` and `transpose_adj_list` are never read [INFO] [stdout] --> src/lr_5/graph_b.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Graph { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 9 | vertices: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 10 | pub adj_list: Vec>, [INFO] [stdout] 11 | pub transpose_adj_list: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Graph` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/lr_2/base.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | / match &self.get_root() { [INFO] [stdout] 167 | | None => None, [INFO] [stdout] 168 | | Some(node) => Some(node.borrow().get_min()), [INFO] [stdout] 169 | | } [INFO] [stdout] | |_________^ help: try: `self.get_root().as_ref().map(|node| node.borrow().get_min())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/lr_2/base.rs:193:9 [INFO] [stdout] | [INFO] [stdout] 193 | / match &self.get_root() { [INFO] [stdout] 194 | | None => None, [INFO] [stdout] 195 | | Some(node) => Some(node.borrow().get_max()), [INFO] [stdout] 196 | | } [INFO] [stdout] | |_________^ help: try: `self.get_root().as_ref().map(|node| node.borrow().get_max())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lr_2/base.rs:272:17 [INFO] [stdout] | [INFO] [stdout] 272 | return }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 271 - None => { println!("This tree is empty!"); [INFO] [stdout] 272 - return }, [INFO] [stdout] 271 + None => { println!("This tree is empty!"); }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lr_2/base.rs:305:17 [INFO] [stdout] | [INFO] [stdout] 305 | return }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 304 - None => { println!("This tree is empty!"); [INFO] [stdout] 305 - return }, [INFO] [stdout] 304 + None => { println!("This tree is empty!"); }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lr_2/base.rs:338:17 [INFO] [stdout] | [INFO] [stdout] 338 | return }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 337 - None => { println!("This tree is empty!"); [INFO] [stdout] 338 - return }, [INFO] [stdout] 337 + None => { println!("This tree is empty!"); }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/lr_2/base.rs:389:9 [INFO] [stdout] | [INFO] [stdout] 389 | / match &self.get_root() { [INFO] [stdout] 390 | | Some(_) => false, [INFO] [stdout] 391 | | None => true, [INFO] [stdout] 392 | | } [INFO] [stdout] | |_________^ help: try: `self.get_root().is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lr_2/rbtree.rs:223:9 [INFO] [stdout] | [INFO] [stdout] 223 | return (false, parent); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 223 - return (false, parent); [INFO] [stdout] 223 + (false, parent) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/lr_2/rbtree.rs:212:25 [INFO] [stdout] | [INFO] [stdout] 212 | child = match parent_node.borrow().left { [INFO] [stdout] | _________________________^ [INFO] [stdout] 213 | | Some(ref node) => Some(node.clone()), [INFO] [stdout] 214 | | None => None, [INFO] [stdout] 215 | | }; [INFO] [stdout] | |_________________^ help: try: `parent_node.borrow().left.as_ref().map(|node| node.clone())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/lr_2/rbtree.rs:217:25 [INFO] [stdout] | [INFO] [stdout] 217 | child = match parent_node.borrow().right { [INFO] [stdout] | _________________________^ [INFO] [stdout] 218 | | Some(ref node) => Some(node.clone()), [INFO] [stdout] 219 | | None => None, [INFO] [stdout] 220 | | }; [INFO] [stdout] | |_________________^ help: try: `parent_node.borrow().right.as_ref().map(|node| node.clone())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lr_2/rbtree.rs:306:9 [INFO] [stdout] | [INFO] [stdout] 306 | return node; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 306 - return node; [INFO] [stdout] 306 + node [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `replacement` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:362:31 [INFO] [stdout] | [INFO] [stdout] 341 | if replacement.is_none() { [INFO] [stdout] | ------------------------ help: try: `if let Some() = &replacement` [INFO] [stdout] ... [INFO] [stdout] 362 | let temp: T = replacement.as_ref().unwrap().borrow().key; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `replacement` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:375:17 [INFO] [stdout] | [INFO] [stdout] 341 | if replacement.is_none() { [INFO] [stdout] | ------------------------ help: try: `if let Some() = &replacement` [INFO] [stdout] ... [INFO] [stdout] 375 | replacement.as_ref().unwrap().borrow_mut().parent = parent.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `replacement` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:378:46 [INFO] [stdout] | [INFO] [stdout] 341 | if replacement.is_none() { [INFO] [stdout] | ------------------------ help: try: `if let Some() = &replacement` [INFO] [stdout] ... [INFO] [stdout] 378 | Self::_change_color(&mut replacement.as_ref().unwrap(), NodeColor::Black); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `replacement` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:380:42 [INFO] [stdout] | [INFO] [stdout] 341 | if replacement.is_none() { [INFO] [stdout] | ------------------------ help: try: `if let Some() = replacement` [INFO] [stdout] ... [INFO] [stdout] 380 | self._delete_repair(&replacement.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `replacement` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:388:27 [INFO] [stdout] | [INFO] [stdout] 341 | if replacement.is_none() { [INFO] [stdout] | ------------------------ help: try: `if let Some() = &replacement` [INFO] [stdout] ... [INFO] [stdout] 388 | let temp: T = replacement.as_ref().unwrap().borrow().key; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `replacement` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:390:39 [INFO] [stdout] | [INFO] [stdout] 341 | if replacement.is_none() { [INFO] [stdout] | ------------------------ help: try: `if let Some() = &replacement` [INFO] [stdout] ... [INFO] [stdout] 390 | self._delete_private(&mut replacement.as_ref().unwrap()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:409:36 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 409 | if Self::_return_color(sibling.as_ref().unwrap()) == NodeColor::Black { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:411:42 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 411 | if !Self::_has_red_child(sibling.as_ref().unwrap()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:412:46 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 412 | Self::_change_color(&mut sibling.as_ref().unwrap(), NodeColor::Red); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:421:28 [INFO] [stdout] | [INFO] [stdout] 405 | ... if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 421 | ... if sibling.as_ref().unwrap().borrow().left.is_some() && Self::_return_color(sibling.as_ref().unwrap().borrow(... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:421:101 [INFO] [stdout] | [INFO] [stdout] 405 | ... if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 421 | ... if sibling.as_ref().unwrap().borrow().left.is_some() && Self::_return_color(sibling.as_ref().unwrap().borrow(... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:422:54 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 422 | Self::_change_color(&mut sibling.as_ref().unwrap().borrow().left.as_ref().unwrap(), NodeColor::Black); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:424:54 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 424 | Self::_change_color(&mut sibling.as_ref().unwrap(), parent_color); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:430:54 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 430 | Self::_change_color(&mut sibling.as_ref().unwrap().borrow().right.as_ref().unwrap(), parent_color); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:431:47 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 431 | self._left_rotate(sibling.as_ref().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:437:28 [INFO] [stdout] | [INFO] [stdout] 405 | ... if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 437 | ... if sibling.as_ref().unwrap().borrow().left.is_some() && Self::_return_color(sibling.as_ref().unwrap().borrow(... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:437:101 [INFO] [stdout] | [INFO] [stdout] 405 | ... if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 437 | ... if sibling.as_ref().unwrap().borrow().left.is_some() && Self::_return_color(sibling.as_ref().unwrap().borrow(... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:439:54 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 439 | Self::_change_color(&mut sibling.as_ref().unwrap().borrow().left.as_ref().unwrap(), parent_color); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:440:48 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 440 | self._right_rotate(sibling.as_ref().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:445:54 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 445 | Self::_change_color(&mut sibling.as_ref().unwrap().borrow().right.as_ref().unwrap(), NodeColor::Black); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:447:54 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 447 | Self::_change_color(&mut sibling.as_ref().unwrap(), parent_color); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sibling` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_2/rbtree.rs:456:42 [INFO] [stdout] | [INFO] [stdout] 405 | if sibling.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &sibling` [INFO] [stdout] ... [INFO] [stdout] 456 | Self::_change_color(&mut sibling.as_ref().unwrap(), NodeColor::Black); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `unwrap()` on `Some` value [INFO] [stdout] --> src/lr_2/rbtree.rs:406:34 [INFO] [stdout] | [INFO] [stdout] 406 | self._delete_repair(&parent.unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the `Some` and `unwrap()` [INFO] [stdout] --> src/lr_2/rbtree.rs:400:22 [INFO] [stdout] | [INFO] [stdout] 400 | let parent = Some(Rc::clone(node.borrow().parent.as_ref().unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_literal_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_literal_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `unwrap()` on `Some` value [INFO] [stdout] --> src/lr_2/rbtree.rs:416:46 [INFO] [stdout] | [INFO] [stdout] 416 | self._delete_repair(&parent.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the `Some` and `unwrap()` [INFO] [stdout] --> src/lr_2/rbtree.rs:400:22 [INFO] [stdout] | [INFO] [stdout] 400 | let parent = Some(Rc::clone(node.borrow().parent.as_ref().unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_literal_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `borrowed_node.parent` after checking its variant with `is_some` [INFO] [stdout] --> src/lr_2/rbtree.rs:480:30 [INFO] [stdout] | [INFO] [stdout] 479 | if borrowed_node.parent.is_some() { [INFO] [stdout] | --------------------------------- help: try: `if let Some() = &borrowed_node.parent` [INFO] [stdout] 480 | let parent_node=&borrowed_node.parent.as_ref().unwrap().borrow(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lr_2/rbtree.rs:487:9 [INFO] [stdout] | [INFO] [stdout] 487 | return None [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 487 - return None [INFO] [stdout] 487 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/lr_2/rbtree.rs:579:73 [INFO] [stdout] | [INFO] [stdout] 579 | let parent_ref: RcRefcellRBTNode = Rc::clone(&parent_option.as_ref().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `parent_option.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lr_2/rbtree_test.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | assert_eq!(rb_tree.is_empty(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 10 - assert_eq!(rb_tree.is_empty(), true); [INFO] [stdout] 10 + assert!(rb_tree.is_empty()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lr_2/rbtree_test.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | assert_eq!(rb_tree.is_empty(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 19 - assert_eq!(rb_tree.is_empty(), false); [INFO] [stdout] 19 + assert!(!rb_tree.is_empty()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lr_2/rbtree_test.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | assert_eq!(rb_tree.contain(number), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 23 - assert_eq!(rb_tree.contain(number), true); [INFO] [stdout] 23 + assert!(rb_tree.contain(number)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lr_2/rbtree_test.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | assert_eq!(rb_tree.is_empty(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 31 - assert_eq!(rb_tree.is_empty(), false); [INFO] [stdout] 31 + assert!(!rb_tree.is_empty()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lr_2/rbtree_test.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | assert_eq!(rb_tree.contain(number), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 35 - assert_eq!(rb_tree.contain(number), false); [INFO] [stdout] 35 + assert!(!rb_tree.contain(number)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lr_2/rbtree_test.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | assert_eq!(rb_tree.contain(number), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 38 - assert_eq!(rb_tree.contain(number), true); [INFO] [stdout] 38 + assert!(rb_tree.contain(number)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lr_2/rbtree_test.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | assert_eq!(rb_tree.is_empty(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 44 - assert_eq!(rb_tree.is_empty(), true); [INFO] [stdout] 44 + assert!(rb_tree.is_empty()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lr_2/rbtree_test.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | assert_eq!(rb_tree.is_empty(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 50 - assert_eq!(rb_tree.is_empty(), true); [INFO] [stdout] 50 + assert!(rb_tree.is_empty()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lr_3/btree.rs:79:60 [INFO] [stdout] | [INFO] [stdout] 79 | } else if right.borrow().left.is_none() && !right.borrow().right.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `right.borrow().right.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lr_3/btree.rs:83:27 [INFO] [stdout] | [INFO] [stdout] 83 | } else if !right.borrow().left.is_none() && right.borrow().right.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `right.borrow().left.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/lr_3/btree.rs:80:21 [INFO] [stdout] | [INFO] [stdout] 80 | / self.right.take().map(|node| { [INFO] [stdout] 81 | | self.right = node.borrow().right.clone() [INFO] [stdout] 82 | | }); [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] = note: `#[warn(clippy::option_map_unit_fn)]` on by default [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 80 - self.right.take().map(|node| { [INFO] [stdout] 81 - self.right = node.borrow().right.clone() [INFO] [stdout] 82 - }); [INFO] [stdout] 80 + if let Some(node) = self.right.take() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/lr_3/btree.rs:84:21 [INFO] [stdout] | [INFO] [stdout] 84 | / self.right.take().map(|node| { [INFO] [stdout] 85 | | self.right = node.borrow().left.clone() [INFO] [stdout] 86 | | }); [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 84 - self.right.take().map(|node| { [INFO] [stdout] 85 - self.right = node.borrow().left.clone() [INFO] [stdout] 86 - }); [INFO] [stdout] 84 + if let Some(node) = self.right.take() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lr_3/btree.rs:101:59 [INFO] [stdout] | [INFO] [stdout] 101 | } else if left.borrow().left.is_none() && !left.borrow().right.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `left.borrow().right.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lr_3/btree.rs:105:27 [INFO] [stdout] | [INFO] [stdout] 105 | } else if !left.borrow().left.is_none() && left.borrow().right.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `left.borrow().left.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/lr_3/btree.rs:102:21 [INFO] [stdout] | [INFO] [stdout] 102 | / self.left.take().map(|node| { [INFO] [stdout] 103 | | self.left = node.borrow().right.clone() [INFO] [stdout] 104 | | }); [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 102 - self.left.take().map(|node| { [INFO] [stdout] 103 - self.left = node.borrow().right.clone() [INFO] [stdout] 104 - }); [INFO] [stdout] 102 + if let Some(node) = self.left.take() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/lr_3/btree.rs:106:21 [INFO] [stdout] | [INFO] [stdout] 106 | / self.left.take().map(|node| { [INFO] [stdout] 107 | | self.left = node.borrow().left.clone() [INFO] [stdout] 108 | | }); [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 106 - self.left.take().map(|node| { [INFO] [stdout] 107 - self.left = node.borrow().left.clone() [INFO] [stdout] 108 - }); [INFO] [stdout] 106 + if let Some(node) = self.left.take() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.root` after checking its variant with `is_none` [INFO] [stdout] --> src/lr_3/btree.rs:165:13 [INFO] [stdout] | [INFO] [stdout] 162 | if self.root.is_none() { [INFO] [stdout] | ---------------------- help: try: `if let Some() = &self.root` [INFO] [stdout] ... [INFO] [stdout] 165 | self.root.as_ref().unwrap().borrow_mut().insert(value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lr_3/btree.rs:178:63 [INFO] [stdout] | [INFO] [stdout] 178 | } else if root.borrow().left.is_none() && !root.borrow().right.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `root.borrow().right.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lr_3/btree.rs:182:31 [INFO] [stdout] | [INFO] [stdout] 182 | } else if !root.borrow().left.is_none() && root.borrow().right.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `root.borrow().left.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lr_3/btree.rs:172:13 [INFO] [stdout] | [INFO] [stdout] 172 | return ; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 171 - println!("The node of value {:#?} doesn't exist.",value); [INFO] [stdout] 172 - return ; [INFO] [stdout] 171 + println!("The node of value {:#?} doesn't exist.",value); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/lr_3/btree.rs:179:25 [INFO] [stdout] | [INFO] [stdout] 179 | / self.root.take().map(|node| { [INFO] [stdout] 180 | | self.root = node.borrow().right.clone() [INFO] [stdout] 181 | | }); [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 179 - self.root.take().map(|node| { [INFO] [stdout] 180 - self.root = node.borrow().right.clone() [INFO] [stdout] 181 - }); [INFO] [stdout] 179 + if let Some(node) = self.root.take() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/lr_3/btree.rs:183:25 [INFO] [stdout] | [INFO] [stdout] 183 | / self.root.take().map(|node| { [INFO] [stdout] 184 | | self.root = node.borrow().left.clone() [INFO] [stdout] 185 | | }); [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 183 - self.root.take().map(|node| { [INFO] [stdout] 184 - self.root = node.borrow().left.clone() [INFO] [stdout] 185 - }); [INFO] [stdout] 183 + if let Some(node) = self.root.take() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lr_3/btree_test.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | assert_eq!(bs_tree.is_empty(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 10 - assert_eq!(bs_tree.is_empty(), true); [INFO] [stdout] 10 + assert!(bs_tree.is_empty()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lr_3/btree_test.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | assert_eq!(bs_tree.is_empty(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 18 - assert_eq!(bs_tree.is_empty(), false); [INFO] [stdout] 18 + assert!(!bs_tree.is_empty()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lr_3/btree_test.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | assert_eq!(bs_tree.contain(number), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 22 - assert_eq!(bs_tree.contain(number), true); [INFO] [stdout] 22 + assert!(bs_tree.contain(number)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lr_3/btree_test.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | assert_eq!(bs_tree.is_empty(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 30 - assert_eq!(bs_tree.is_empty(), false); [INFO] [stdout] 30 + assert!(!bs_tree.is_empty()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lr_3/btree_test.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | assert_eq!(bs_tree.contain(number), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 34 - assert_eq!(bs_tree.contain(number), false); [INFO] [stdout] 34 + assert!(!bs_tree.contain(number)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lr_3/btree_test.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | assert_eq!(bs_tree.contain(number), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 37 - assert_eq!(bs_tree.contain(number), true); [INFO] [stdout] 37 + assert!(bs_tree.contain(number)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lr_3/btree_test.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | assert_eq!(bs_tree.is_empty(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 42 - assert_eq!(bs_tree.is_empty(), true); [INFO] [stdout] 42 + assert!(bs_tree.is_empty()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lr_3/btree_test.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | assert_eq!(bs_tree.is_empty(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 48 - assert_eq!(bs_tree.is_empty(), true); [INFO] [stdout] 48 + assert!(bs_tree.is_empty()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/lr_3/base.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | / match &self.get_root() { [INFO] [stdout] 167 | | None => None, [INFO] [stdout] 168 | | Some(node) => Some(node.borrow().get_min()), [INFO] [stdout] 169 | | } [INFO] [stdout] | |_________^ help: try: `self.get_root().as_ref().map(|node| node.borrow().get_min())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/lr_3/base.rs:193:9 [INFO] [stdout] | [INFO] [stdout] 193 | / match &self.get_root() { [INFO] [stdout] 194 | | None => None, [INFO] [stdout] 195 | | Some(node) => Some(node.borrow().get_max()), [INFO] [stdout] 196 | | } [INFO] [stdout] | |_________^ help: try: `self.get_root().as_ref().map(|node| node.borrow().get_max())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lr_3/base.rs:272:17 [INFO] [stdout] | [INFO] [stdout] 272 | return }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 271 - None => { println!("This tree is empty!"); [INFO] [stdout] 272 - return }, [INFO] [stdout] 271 + None => { println!("This tree is empty!"); }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lr_3/base.rs:305:17 [INFO] [stdout] | [INFO] [stdout] 305 | return }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 304 - None => { println!("This tree is empty!"); [INFO] [stdout] 305 - return }, [INFO] [stdout] 304 + None => { println!("This tree is empty!"); }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lr_3/base.rs:338:17 [INFO] [stdout] | [INFO] [stdout] 338 | return }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 337 - None => { println!("This tree is empty!"); [INFO] [stdout] 338 - return }, [INFO] [stdout] 337 + None => { println!("This tree is empty!"); }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/lr_3/base.rs:389:9 [INFO] [stdout] | [INFO] [stdout] 389 | / match &self.get_root() { [INFO] [stdout] 390 | | Some(_) => false, [INFO] [stdout] 391 | | None => true, [INFO] [stdout] 392 | | } [INFO] [stdout] | |_________^ help: try: `self.get_root().is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `dist` [INFO] [stdout] --> src/lr_5/graph_a.rs:173:18 [INFO] [stdout] | [INFO] [stdout] 173 | for i in 0..n { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 173 - for i in 0..n { [INFO] [stdout] 173 + for (i, ) in dist.iter_mut().enumerate().take(n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/lr_5/graph_b.rs:130:16 [INFO] [stdout] | [INFO] [stdout] 130 | if degree % 2 != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace with: `!degree.is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `text_bytes` [INFO] [stdout] --> src/lr_6/substring.rs:131:14 [INFO] [stdout] | [INFO] [stdout] 131 | for i in 0..text.len() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 131 - for i in 0..text.len() { [INFO] [stdout] 131 + for (i, ) in text_bytes.iter().enumerate().take(text.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/lr_2/rbtree_test.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | for number in vec![0, 1, 2, 3, 4] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[0, 1, 2, 3, 4]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/lr_2/rbtree_test.rs:34:23 [INFO] [stdout] | [INFO] [stdout] 34 | for number in vec![0, 1, 2, 3, 4] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[0, 1, 2, 3, 4]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/lr_2/rbtree_test.rs:37:23 [INFO] [stdout] | [INFO] [stdout] 37 | for number in vec![5, 6, 7, 8, 9] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[5, 6, 7, 8, 9]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/lr_2/rbtree_test.rs:41:23 [INFO] [stdout] | [INFO] [stdout] 41 | for number in vec![5, 6, 7, 8, 9] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[5, 6, 7, 8, 9]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/lr_3/btree_test.rs:24:23 [INFO] [stdout] | [INFO] [stdout] 24 | for number in vec![0, 1, 2, 3, 4] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[0, 1, 2, 3, 4]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/lr_3/btree_test.rs:33:23 [INFO] [stdout] | [INFO] [stdout] 33 | for number in vec![0, 1, 2, 3, 4] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[0, 1, 2, 3, 4]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/lr_3/btree_test.rs:36:23 [INFO] [stdout] | [INFO] [stdout] 36 | for number in vec![5, 6, 7, 8, 9] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[5, 6, 7, 8, 9]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/lr_3/btree_test.rs:39:23 [INFO] [stdout] | [INFO] [stdout] 39 | for number in vec![5, 6, 7, 8, 9] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[5, 6, 7, 8, 9]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.83s [INFO] running `Command { std: "docker" "inspect" "9367300a5911793afb7025e3669f3ed7675eac814b6f0c4a08e064487cfa044a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9367300a5911793afb7025e3669f3ed7675eac814b6f0c4a08e064487cfa044a", kill_on_drop: false }` [INFO] [stdout] 9367300a5911793afb7025e3669f3ed7675eac814b6f0c4a08e064487cfa044a