[INFO] cloning repository https://github.com/rayniel95/rust-little-projects [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rayniel95/rust-little-projects" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frayniel95%2Frust-little-projects", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frayniel95%2Frust-little-projects'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 493399f7480e34717d1db07e486cba226a9727a1 [INFO] building rayniel95/rust-little-projects against master#44f415c1d617ebc7b931a243b7b321ef8a6ca47c for pr-142134-abi-ast-error [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frayniel95%2Frust-little-projects" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/rayniel95/rust-little-projects on toolchain 44f415c1d617ebc7b931a243b7b321ef8a6ca47c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/rayniel95/rust-little-projects [INFO] finished tweaking git repo https://github.com/rayniel95/rust-little-projects [INFO] tweaked toml for git repo https://github.com/rayniel95/rust-little-projects written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/rayniel95/rust-little-projects 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" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded contracts v0.6.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cf341f0e604220b79f35082fb72cbb4b7fde2b198f633bb5a01b38863228c5e9 [INFO] running `Command { std: "docker" "start" "-a" "cf341f0e604220b79f35082fb72cbb4b7fde2b198f633bb5a01b38863228c5e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cf341f0e604220b79f35082fb72cbb4b7fde2b198f633bb5a01b38863228c5e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cf341f0e604220b79f35082fb72cbb4b7fde2b198f633bb5a01b38863228c5e9", kill_on_drop: false }` [INFO] [stdout] cf341f0e604220b79f35082fb72cbb4b7fde2b198f633bb5a01b38863228c5e9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ebd1d45af90e68f1e54b40d68a627d7aa3a7e2998b4ecc9f563e2c31b941fd23 [INFO] running `Command { std: "docker" "start" "-a" "ebd1d45af90e68f1e54b40d68a627d7aa3a7e2998b4ecc9f563e2c31b941fd23", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.112 [INFO] [stderr] Compiling proc-macro2 v1.0.34 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling syn v1.0.84 [INFO] [stderr] Compiling ppv-lite86 v0.2.15 [INFO] [stderr] Compiling quote v1.0.10 [INFO] [stderr] Compiling getrandom v0.2.3 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.4 [INFO] [stderr] Compiling contracts v0.6.2 [INFO] [stderr] Compiling rust-little-projects v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `super::linked_list::LinkedList` [INFO] [stdout] --> src/dsandalgo/linked_list/test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::linked_list::LinkedList; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::linked_list::LinkedListError` [INFO] [stdout] --> src/dsandalgo/linked_list/test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use super::linked_list::LinkedListError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ptr::NonNull` [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:1:42 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{rc::{Rc, Weak}, cell::RefCell, ptr::NonNull}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::heap::HeapTree` [INFO] [stdout] --> src/dsandalgo/heap/test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::heap::HeapTree; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/dsandalgo/heap/test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::Inspect` [INFO] [stdout] --> src/dsandalgo/isAdmissibleOverpayment/isAdmissibleOverpayment.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::iter::Inspect; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::isAdmissibleOverpayment::solution` [INFO] [stdout] --> src/dsandalgo/isAdmissibleOverpayment/test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::isAdmissibleOverpayment::solution; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::linked_list_disjoint_set::DisjointSet` [INFO] [stdout] --> src/dsandalgo/linked_list_disjoint_set/test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::linked_list_disjoint_set::DisjointSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::distributions::uniform::SampleBorrow` [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use rand::distributions::uniform::SampleBorrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | let mut pointer = Rc::clone(self); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let mut pointer = Rc::clone(self); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:183:29 [INFO] [stdout] | [INFO] [stdout] 183 | let mut min: HeapPointer; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `LinkToNode` is never used [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:5:6 [INFO] [stdout] | [INFO] [stdout] 5 | type LinkToNode = Rc>>; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `newLinkToNode` is never used [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn newLinkToNode(value: T) -> LinkToNode{ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LinkedNode` is never constructed [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct LinkedNode{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 17 | impl LinkedNode{ [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 18 | fn new(value: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `LinkedListError` is never used [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:26:10 [INFO] [stdout] | [INFO] [stdout] 26 | pub enum LinkedListError{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LinkedList` is never constructed [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct LinkedList{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl LinkedList{ [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 37 | pub fn new() -> Self{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn count(&self) -> u32{ [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn add_last(& mut self, value: T){ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn pop_first(& mut self) -> Result{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn add_first(& mut self, value: T){ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn pop_last(& mut self) -> Result{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn peek_first(&self)->Option>{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub fn peek_last(&self)->Option>{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `HeapPointer` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:7:6 [INFO] [stdout] | [INFO] [stdout] 7 | type HeapPointer = Rc>>; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `LinkedNodePointer` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type LinkedNodePointer = Rc>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `HeapWeakPointer` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | type HeapWeakPointer = Weak>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `LinkedNodeWeakPointer` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | type LinkedNodeWeakPointer = Weak>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `OptionalLinkedNodePointer` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | type OptionalLinkedNodePointer = Option>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `OptionalHeapPointer` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type OptionalHeapPointer = Option>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Heapable` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | trait Heapable where Self: Sized { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cell` is never constructed [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | struct Cell{ [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LinkedNode` is never constructed [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | struct LinkedNode{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HeapTree` is never constructed [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | pub struct HeapTree{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Heap` is never constructed [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:116:19 [INFO] [stdout] | [INFO] [stdout] 116 | pub(crate) struct Heap{ [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:202:8 [INFO] [stdout] | [INFO] [stdout] 201 | impl LinkedNode { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 202 | fn new(heap: HeapPointer)->LinkedNode{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `LinkedNodable` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:211:7 [INFO] [stdout] | [INFO] [stdout] 211 | trait LinkedNodable where Self: Sized{ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_heap_structure_and_reachability` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:446:19 [INFO] [stdout] | [INFO] [stdout] 446 | pub(super) fn test_heap_structure_and_reachability(heap: &HeapPointer) -> i32{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_heap_partial_ordering` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:476:19 [INFO] [stdout] | [INFO] [stdout] 476 | pub(super) fn test_heap_partial_ordering(heap: &HeapPointer) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solution` is never used [INFO] [stdout] --> src/dsandalgo/isAdmissibleOverpayment/isAdmissibleOverpayment.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solution(prices: Vec, notes: Vec, x: f64) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `DisjointSetable` is never used [INFO] [stdout] --> src/dsandalgo/disjoint_set/disjoint_set.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | trait DisjointSetable { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `parent`, `rank`, and `index` are never read [INFO] [stdout] --> src/dsandalgo/disjoint_set/disjoint_set.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct Set{ [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 39 | parent: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 40 | rank: u32, [INFO] [stdout] | ^^^^ [INFO] [stdout] 41 | index: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DisjointSet` is never constructed [INFO] [stdout] --> src/dsandalgo/disjoint_set/disjoint_set.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct DisjointSet{ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find_set`, and `merge` are never used [INFO] [stdout] --> src/dsandalgo/disjoint_set/disjoint_set.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 64 | impl DisjointSet{ [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 65 | pub fn new(size: u32)->Self{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn find_set(& mut self, index: usize)->u32{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn merge(&self, index1: usize, index2: usize){ [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SetLink` is never used [INFO] [stdout] --> src/dsandalgo/linked_list_disjoint_set/linked_list_disjoint_set.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | type SetLink = Rc>; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NodeSet` is never constructed [INFO] [stdout] --> src/dsandalgo/linked_list_disjoint_set/linked_list_disjoint_set.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct NodeSet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/dsandalgo/linked_list_disjoint_set/linked_list_disjoint_set.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 12 | impl NodeSet { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 13 | fn new(index: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DisjointSet` is never constructed [INFO] [stdout] --> src/dsandalgo/linked_list_disjoint_set/linked_list_disjoint_set.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct DisjointSet { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find_set`, `merge`, and `insert` are never used [INFO] [stdout] --> src/dsandalgo/linked_list_disjoint_set/linked_list_disjoint_set.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl DisjointSet { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 28 | pub fn new(lenght: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn find_set(&self, index: usize) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn merge(&self, index1: usize, index2: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | fn insert(&self, one: usize, two: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `isAdmissibleOverpayment` should have a snake case name [INFO] [stdout] --> src/dsandalgo/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | mod isAdmissibleOverpayment; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_admissible_overpayment` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `newLinkToNode` should have a snake case name [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn newLinkToNode(value: T) -> LinkToNode{ [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_link_to_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:132:23 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn peek_first(&self)->Option>{ [INFO] [stdout] | ^^^^^ ------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 132 | pub fn peek_first(&self)->Option>{ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:140:22 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn peek_last(&self)->Option>{ [INFO] [stdout] | ^^^^^ ------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 140 | pub fn peek_last(&self)->Option>{ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `parentOfLast` should have a snake case name [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | parentOfLast: Option>, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `parent_of_last` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `isAdmissibleOverpayment` should have a snake case name [INFO] [stdout] --> src/dsandalgo/isAdmissibleOverpayment/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | mod isAdmissibleOverpayment; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_admissible_overpayment` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.06s [INFO] running `Command { std: "docker" "inspect" "ebd1d45af90e68f1e54b40d68a627d7aa3a7e2998b4ecc9f563e2c31b941fd23", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ebd1d45af90e68f1e54b40d68a627d7aa3a7e2998b4ecc9f563e2c31b941fd23", kill_on_drop: false }` [INFO] [stdout] ebd1d45af90e68f1e54b40d68a627d7aa3a7e2998b4ecc9f563e2c31b941fd23 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 326293a0df80c6ba9fa7e633a55b9fd47f256231c8f953f62ead2819b89f9056 [INFO] running `Command { std: "docker" "start" "-a" "326293a0df80c6ba9fa7e633a55b9fd47f256231c8f953f62ead2819b89f9056", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `super::linked_list::LinkedList` [INFO] [stdout] --> src/dsandalgo/linked_list/test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::linked_list::LinkedList; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::linked_list::LinkedListError` [INFO] [stdout] --> src/dsandalgo/linked_list/test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use super::linked_list::LinkedListError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ptr::NonNull` [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:1:42 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{rc::{Rc, Weak}, cell::RefCell, ptr::NonNull}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::heap::HeapTree` [INFO] [stdout] --> src/dsandalgo/heap/test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::heap::HeapTree; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/dsandalgo/heap/test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::Inspect` [INFO] [stdout] --> src/dsandalgo/isAdmissibleOverpayment/isAdmissibleOverpayment.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::iter::Inspect; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::isAdmissibleOverpayment::solution` [INFO] [stdout] --> src/dsandalgo/isAdmissibleOverpayment/test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::isAdmissibleOverpayment::solution; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::linked_list_disjoint_set::DisjointSet` [INFO] [stdout] --> src/dsandalgo/linked_list_disjoint_set/test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::linked_list_disjoint_set::DisjointSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::distributions::uniform::SampleBorrow` [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use rand::distributions::uniform::SampleBorrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | let mut pointer = Rc::clone(self); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let mut pointer = Rc::clone(self); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:183:29 [INFO] [stdout] | [INFO] [stdout] 183 | let mut min: HeapPointer; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `LinkToNode` is never used [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:5:6 [INFO] [stdout] | [INFO] [stdout] 5 | type LinkToNode = Rc>>; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `newLinkToNode` is never used [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn newLinkToNode(value: T) -> LinkToNode{ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LinkedNode` is never constructed [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct LinkedNode{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 17 | impl LinkedNode{ [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 18 | fn new(value: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `LinkedListError` is never used [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:26:10 [INFO] [stdout] | [INFO] [stdout] 26 | pub enum LinkedListError{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rust-little-projects v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: struct `LinkedList` is never constructed [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct LinkedList{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl LinkedList{ [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 37 | pub fn new() -> Self{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn count(&self) -> u32{ [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn add_last(& mut self, value: T){ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn pop_first(& mut self) -> Result{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn add_first(& mut self, value: T){ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn pop_last(& mut self) -> Result{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn peek_first(&self)->Option>{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub fn peek_last(&self)->Option>{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `HeapPointer` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:7:6 [INFO] [stdout] | [INFO] [stdout] 7 | type HeapPointer = Rc>>; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `LinkedNodePointer` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type LinkedNodePointer = Rc>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `HeapWeakPointer` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | type HeapWeakPointer = Weak>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `LinkedNodeWeakPointer` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | type LinkedNodeWeakPointer = Weak>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `OptionalLinkedNodePointer` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | type OptionalLinkedNodePointer = Option>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `OptionalHeapPointer` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type OptionalHeapPointer = Option>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Heapable` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | trait Heapable where Self: Sized { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cell` is never constructed [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | struct Cell{ [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LinkedNode` is never constructed [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | struct LinkedNode{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HeapTree` is never constructed [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | pub struct HeapTree{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Heap` is never constructed [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:116:19 [INFO] [stdout] | [INFO] [stdout] 116 | pub(crate) struct Heap{ [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:202:8 [INFO] [stdout] | [INFO] [stdout] 201 | impl LinkedNode { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 202 | fn new(heap: HeapPointer)->LinkedNode{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `LinkedNodable` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:211:7 [INFO] [stdout] | [INFO] [stdout] 211 | trait LinkedNodable where Self: Sized{ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_heap_structure_and_reachability` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:446:19 [INFO] [stdout] | [INFO] [stdout] 446 | pub(super) fn test_heap_structure_and_reachability(heap: &HeapPointer) -> i32{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_heap_partial_ordering` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:476:19 [INFO] [stdout] | [INFO] [stdout] 476 | pub(super) fn test_heap_partial_ordering(heap: &HeapPointer) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solution` is never used [INFO] [stdout] --> src/dsandalgo/isAdmissibleOverpayment/isAdmissibleOverpayment.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solution(prices: Vec, notes: Vec, x: f64) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `DisjointSetable` is never used [INFO] [stdout] --> src/dsandalgo/disjoint_set/disjoint_set.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | trait DisjointSetable { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `parent`, `rank`, and `index` are never read [INFO] [stdout] --> src/dsandalgo/disjoint_set/disjoint_set.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct Set{ [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 39 | parent: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 40 | rank: u32, [INFO] [stdout] | ^^^^ [INFO] [stdout] 41 | index: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DisjointSet` is never constructed [INFO] [stdout] --> src/dsandalgo/disjoint_set/disjoint_set.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct DisjointSet{ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find_set`, and `merge` are never used [INFO] [stdout] --> src/dsandalgo/disjoint_set/disjoint_set.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 64 | impl DisjointSet{ [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 65 | pub fn new(size: u32)->Self{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn find_set(& mut self, index: usize)->u32{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn merge(&self, index1: usize, index2: usize){ [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SetLink` is never used [INFO] [stdout] --> src/dsandalgo/linked_list_disjoint_set/linked_list_disjoint_set.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | type SetLink = Rc>; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NodeSet` is never constructed [INFO] [stdout] --> src/dsandalgo/linked_list_disjoint_set/linked_list_disjoint_set.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct NodeSet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/dsandalgo/linked_list_disjoint_set/linked_list_disjoint_set.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 12 | impl NodeSet { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 13 | fn new(index: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DisjointSet` is never constructed [INFO] [stdout] --> src/dsandalgo/linked_list_disjoint_set/linked_list_disjoint_set.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct DisjointSet { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find_set`, `merge`, and `insert` are never used [INFO] [stdout] --> src/dsandalgo/linked_list_disjoint_set/linked_list_disjoint_set.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl DisjointSet { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 28 | pub fn new(lenght: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn find_set(&self, index: usize) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn merge(&self, index1: usize, index2: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | fn insert(&self, one: usize, two: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `isAdmissibleOverpayment` should have a snake case name [INFO] [stdout] --> src/dsandalgo/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | mod isAdmissibleOverpayment; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_admissible_overpayment` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `newLinkToNode` should have a snake case name [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn newLinkToNode(value: T) -> LinkToNode{ [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_link_to_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:132:23 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn peek_first(&self)->Option>{ [INFO] [stdout] | ^^^^^ ------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 132 | pub fn peek_first(&self)->Option>{ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:140:22 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn peek_last(&self)->Option>{ [INFO] [stdout] | ^^^^^ ------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 140 | pub fn peek_last(&self)->Option>{ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `parentOfLast` should have a snake case name [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | parentOfLast: Option>, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `parent_of_last` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `isAdmissibleOverpayment` should have a snake case name [INFO] [stdout] --> src/dsandalgo/isAdmissibleOverpayment/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | mod isAdmissibleOverpayment; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_admissible_overpayment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::linked_list::LinkedListError` [INFO] [stdout] --> src/dsandalgo/linked_list/test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use super::linked_list::LinkedListError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ptr::NonNull` [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:1:42 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{rc::{Rc, Weak}, cell::RefCell, ptr::NonNull}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::num` [INFO] [stdout] --> src/dsandalgo/heap/test.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | use core::num; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cmp::Ordering` and `vec` [INFO] [stdout] --> src/dsandalgo/heap/test.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use std::{cmp::Ordering, vec}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::Inspect` [INFO] [stdout] --> src/dsandalgo/isAdmissibleOverpayment/isAdmissibleOverpayment.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::iter::Inspect; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cmp::Ordering` and `convert::TryInto` [INFO] [stdout] --> src/dsandalgo/linked_list_disjoint_set/test.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::{cmp::Ordering, convert::TryInto, vec}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::distributions::uniform::SampleBorrow` [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use rand::distributions::uniform::SampleBorrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | let mut pointer = Rc::clone(self); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let mut pointer = Rc::clone(self); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:183:29 [INFO] [stdout] | [INFO] [stdout] 183 | let mut min: HeapPointer; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/dsandalgo/heap/test.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | let mut new_min = my_heap.pop().unwrap(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `OptionalLinkedNodePointer` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | type OptionalLinkedNodePointer = Option>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `OptionalHeapPointer` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type OptionalHeapPointer = Option>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `has_left_child` and `is_right_child` are never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 14 | trait Heapable where Self: Sized { [INFO] [stdout] | -------- methods in this trait [INFO] [stdout] 15 | fn has_left_child(&self)->bool; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | fn is_right_child(&self, other: &Self)->bool; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_heap_structure_and_reachability` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:446:19 [INFO] [stdout] | [INFO] [stdout] 446 | pub(super) fn test_heap_structure_and_reachability(heap: &HeapPointer) -> i32{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_heap_partial_ordering` is never used [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:476:19 [INFO] [stdout] | [INFO] [stdout] 476 | pub(super) fn test_heap_partial_ordering(heap: &HeapPointer) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `DisjointSetable` is never used [INFO] [stdout] --> src/dsandalgo/disjoint_set/disjoint_set.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | trait DisjointSetable { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `parent`, `rank`, and `index` are never read [INFO] [stdout] --> src/dsandalgo/disjoint_set/disjoint_set.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct Set{ [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 39 | parent: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 40 | rank: u32, [INFO] [stdout] | ^^^^ [INFO] [stdout] 41 | index: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DisjointSet` is never constructed [INFO] [stdout] --> src/dsandalgo/disjoint_set/disjoint_set.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct DisjointSet{ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find_set`, and `merge` are never used [INFO] [stdout] --> src/dsandalgo/disjoint_set/disjoint_set.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 64 | impl DisjointSet{ [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 65 | pub fn new(size: u32)->Self{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn find_set(& mut self, index: usize)->u32{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn merge(&self, index1: usize, index2: usize){ [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `isAdmissibleOverpayment` should have a snake case name [INFO] [stdout] --> src/dsandalgo/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | mod isAdmissibleOverpayment; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_admissible_overpayment` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `newLinkToNode` should have a snake case name [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn newLinkToNode(value: T) -> LinkToNode{ [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_link_to_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:132:23 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn peek_first(&self)->Option>{ [INFO] [stdout] | ^^^^^ ------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 132 | pub fn peek_first(&self)->Option>{ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/dsandalgo/linked_list/linked_list.rs:140:22 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn peek_last(&self)->Option>{ [INFO] [stdout] | ^^^^^ ------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 140 | pub fn peek_last(&self)->Option>{ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/dsandalgo/linked_list/test.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | list.pop_first(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 60 | let _ = list.pop_first(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/dsandalgo/linked_list/test.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | list.pop_last(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 113 | let _ = list.pop_last(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `parentOfLast` should have a snake case name [INFO] [stdout] --> src/dsandalgo/heap/heap.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | parentOfLast: Option>, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `parent_of_last` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `isAdmissibleOverpayment` should have a snake case name [INFO] [stdout] --> src/dsandalgo/isAdmissibleOverpayment/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | mod isAdmissibleOverpayment; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_admissible_overpayment` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.28s [INFO] running `Command { std: "docker" "inspect" "326293a0df80c6ba9fa7e633a55b9fd47f256231c8f953f62ead2819b89f9056", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "326293a0df80c6ba9fa7e633a55b9fd47f256231c8f953f62ead2819b89f9056", kill_on_drop: false }` [INFO] [stdout] 326293a0df80c6ba9fa7e633a55b9fd47f256231c8f953f62ead2819b89f9056