[INFO] cloning repository https://github.com/marcwenz/shopper
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/marcwenz/shopper" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarcwenz%2Fshopper", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarcwenz%2Fshopper'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a4ca596547ea9a89bfee921c2e0d3f2c3b17b898
[INFO] checking marcwenz/shopper against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarcwenz%2Fshopper" "/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/marcwenz/shopper
[INFO] finished tweaking git repo https://github.com/marcwenz/shopper
[INFO] tweaked toml for git repo https://github.com/marcwenz/shopper written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/marcwenz/shopper on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/marcwenz/shopper 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded arc-swap v0.4.6
[INFO] [stderr]   Downloaded cc v1.0.53
[INFO] [stderr]   Downloaded cursive v0.14.1
[INFO] [stderr]   Downloaded syn v1.0.22
[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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e8aecf97e6789e39612fc86847090f497825fd82639a6dd4664da6daceb46c58
[INFO] running `Command { std: "docker" "start" "-a" "e8aecf97e6789e39612fc86847090f497825fd82639a6dd4664da6daceb46c58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e8aecf97e6789e39612fc86847090f497825fd82639a6dd4664da6daceb46c58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e8aecf97e6789e39612fc86847090f497825fd82639a6dd4664da6daceb46c58", kill_on_drop: false }`
[INFO] [stdout] e8aecf97e6789e39612fc86847090f497825fd82639a6dd4664da6daceb46c58
[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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d2f957598738a16e3439ab50247d0ea4dd741c11fccfcc202b3367b1215c1463
[INFO] running `Command { std: "docker" "start" "-a" "d2f957598738a16e3439ab50247d0ea4dd741c11fccfcc202b3367b1215c1463", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.69
[INFO] [stderr]    Compiling proc-macro2 v1.0.13
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling syn v1.0.22
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]    Compiling num-iter v0.1.40
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling pkg-config v0.3.17
[INFO] [stderr]    Compiling cc v1.0.53
[INFO] [stderr]    Compiling proc-macro-hack v0.5.15
[INFO] [stderr]     Checking arc-swap v0.4.6
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]     Checking stable_deref_trait v1.1.1
[INFO] [stderr]     Checking array-macro v1.0.5
[INFO] [stderr]     Checking ppv-lite86 v0.2.6
[INFO] [stderr]     Checking crossbeam-channel v0.4.2
[INFO] [stderr]     Checking owning_ref v0.4.1
[INFO] [stderr]     Checking unicode-segmentation v1.6.0
[INFO] [stderr]     Checking xi-unicode v0.2.0
[INFO] [stderr]     Checking getrandom v0.1.14
[INFO] [stderr]     Checking signal-hook-registry v1.2.0
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]     Checking term_size v0.3.2
[INFO] [stderr]    Compiling ncurses v5.99.0
[INFO] [stderr]     Checking signal-hook v0.1.15
[INFO] [stderr]    Compiling quote v1.0.6
[INFO] [stderr]     Checking chrono v0.4.11
[INFO] [stderr]    Compiling const-random-macro v0.1.8
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking num v0.2.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking const-random v0.1.8
[INFO] [stderr]     Checking ahash v0.2.18
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]    Compiling darling_core v0.10.2
[INFO] [stderr]    Compiling enum-map-derive v0.4.3
[INFO] [stderr]     Checking enum-map v0.6.2
[INFO] [stderr]    Compiling darling_macro v0.10.2
[INFO] [stderr]    Compiling darling v0.10.2
[INFO] [stderr]    Compiling enumset_derive v0.4.4
[INFO] [stderr]     Checking enumset v0.4.5
[INFO] [stderr]     Checking cursive v0.14.1
[INFO] [stderr]     Checking shopper v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: found module declaration for lib.rs
[INFO] [stdout]  --> src/main.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod lib;
[INFO] [stdout]   | ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: lib.rs is the root of this crate's library target
[INFO] [stdout]   = help: to refer to it from other targets, use the library's name as the path
[INFO] [stdout]   = note: `#[warn(special_module_name)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EventTrigger` and `MouseEvent`
[INFO] [stdout]  --> src/curses.rs:2:42
[INFO] [stdout]   |
[INFO] [stdout] 2 | use cursive::event::{Event, EventResult, EventTrigger, Key, MouseEvent};
[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: `OnEventView`
[INFO] [stdout]  --> src/curses.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use cursive::views::{Button, LinearLayout, OnEventView};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: found module declaration for lib.rs
[INFO] [stdout]  --> src/main.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod lib;
[INFO] [stdout]   | ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: lib.rs is the root of this crate's library target
[INFO] [stdout]   = help: to refer to it from other targets, use the library's name as the path
[INFO] [stdout]   = note: `#[warn(special_module_name)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EventTrigger` and `MouseEvent`
[INFO] [stdout]  --> src/curses.rs:2:42
[INFO] [stdout]   |
[INFO] [stdout] 2 | use cursive::event::{Event, EventResult, EventTrigger, Key, MouseEvent};
[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: `OnEventView`
[INFO] [stdout]  --> src/curses.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use cursive::views::{Button, LinearLayout, OnEventView};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/shops.rs:220:9
[INFO] [stdout]     |
[INFO] [stdout] 220 |     let mut rng = rand::thread_rng();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/shops.rs:220:9
[INFO] [stdout]     |
[INFO] [stdout] 220 |     let mut rng = rand::thread_rng();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/shops.rs:220:9
[INFO] [stdout]     |
[INFO] [stdout] 220 |     let mut rng = rand::thread_rng();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/shops.rs:220:9
[INFO] [stdout]     |
[INFO] [stdout] 220 |     let mut rng = rand::thread_rng();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `base_loop` is never used
[INFO] [stdout]   --> src/main.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn base_loop(shopper: &mut Shopper, mall: &mut Mall) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `in_shop` is never used
[INFO] [stdout]   --> src/main.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn in_shop<'a>(
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_idx` is never used
[INFO] [stdout]    --> src/shops.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout]  87 | impl ShopTypeDir {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 105 |     fn get_idx(&self, i: usize) -> Option<&ShopType> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_item` is never used
[INFO] [stdout]    --> src/shops.rs:185:4
[INFO] [stdout]     |
[INFO] [stdout] 185 | fn random_item(name: &str, in_money: &f32, in_capacity: &u32) -> Item {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/shops.rs:219:8
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub fn main() {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mall` is never constructed
[INFO] [stdout]  --> src/structs.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Mall {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_shops`, `get_mut_shop`, and `find_shop` are never used
[INFO] [stdout]   --> src/structs.rs:7:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Mall {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout]  6 |     // creates new mall
[INFO] [stdout]  7 |     pub fn new(shops: Vec<Shop>) -> Mall {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub fn get_shops(&self) -> &Vec<Shop> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn get_mut_shop(&mut self, index: usize) -> Option<&mut Shop> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn find_shop(&self, sh_name: &str) -> Option<(&Shop, usize)> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shopper` is never constructed
[INFO] [stdout]   --> src/structs.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Shopper {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/structs.rs:38:12
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl Shopper {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  37 |     // create new shopper
[INFO] [stdout]  38 |     pub fn new(money: f32, capacity: u32) -> Shopper {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  46 |     pub fn get_money(&self) -> &f32 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  50 |     pub fn get_capacity(&self) -> &u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn buy_basket(&mut self, basket: &mut Basket) -> Result<(), &str> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn update_inventory(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn cal_remaining_capacity(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn cal_taken_capacity(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shop` is never constructed
[INFO] [stdout]    --> src/structs.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub struct Shop {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/structs.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl Shop {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 118 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn get_basket_capacity(&self) -> &u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn get_inventory(&self) -> &Vec<Item> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn take_item(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn put_item_back(&mut self, item: &Item) -> Result<(), &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn put_amount_back(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn get_item(&self, item_name: &str) -> Option<&Item> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Item` is never constructed
[INFO] [stdout]    --> src/structs.rs:190:12
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub struct Item {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_name`, `get_size`, `get_quantity`, `get_cost`, and `get_is_stolen` are never used
[INFO] [stdout]    --> src/structs.rs:199:12
[INFO] [stdout]     |
[INFO] [stdout] 198 | impl Item {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 199 |     pub fn new(name: String, cost: f32, size: u32, quantity: u32) -> Item {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn get_name(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn get_size(&self) -> &u32 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn get_quantity(&self) -> &u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub fn get_cost(&self) -> &f32 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     pub fn get_is_stolen(&self) -> &bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Basket` is never constructed
[INFO] [stdout]    --> src/structs.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout] 230 | pub struct Basket {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_basket_capacity`, `add`, and `remove` are never used
[INFO] [stdout]    --> src/structs.rs:236:12
[INFO] [stdout]     |
[INFO] [stdout] 235 | impl Basket {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 236 |     pub fn new(basket_capacity: u32) -> Basket {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn get_basket_capacity(&self) -> &u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn add(&mut self, item: Item) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn remove(&mut self, item_index: usize) -> Result<Item, &str> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IntoBoxedView` is never used
[INFO] [stdout]  --> src/traits.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait IntoBoxedView {
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Test` is never used
[INFO] [stdout]   --> src/traits.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub trait Test: Any {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ViewAndTest` is never used
[INFO] [stdout]   --> src/traits.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub trait ViewAndTest: View + Test {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_generic_shop` is never used
[INFO] [stdout]  --> src/utils.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn create_generic_shop() -> Shop {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_generic_mall` is never used
[INFO] [stdout]   --> src/utils.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn create_generic_mall() -> Mall {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_item_in_inventory` is never used
[INFO] [stdout]   --> src/utils.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn find_item_in_inventory<'b>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_user_input` is never used
[INFO] [stdout]   --> src/utils.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn get_user_input(prompt: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_f32` is never used
[INFO] [stdout]   --> src/utils.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn parse_f32(prompt: &str) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_u32` is never used
[INFO] [stdout]   --> src/utils.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn parse_u32(prompt: &str) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_game` is never used
[INFO] [stdout]   --> src/utils.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn init_game() -> (Shopper, Mall) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `return_basket` is never used
[INFO] [stdout]   --> src/utils.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn return_basket(basket: &mut Basket, shop: &mut Shop) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_stolen` is never used
[INFO] [stdout]   --> src/utils.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn print_stolen(shopper: &Shopper) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_stats` is never used
[INFO] [stdout]    --> src/utils.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn print_stats(shopper: &Shopper) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/curses.rs:210:13
[INFO] [stdout]     |
[INFO] [stdout] 210 |             mem::replace(&mut texts[ll - 4], format!(" |{:7}| ", label));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 210 |             let _ = mem::replace(&mut texts[ll - 4], format!(" |{:7}| ", label));
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `base_loop` is never used
[INFO] [stdout]   --> src/main.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn base_loop(shopper: &mut Shopper, mall: &mut Mall) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `in_shop` is never used
[INFO] [stdout]   --> src/main.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn in_shop<'a>(
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_idx` is never used
[INFO] [stdout]    --> src/shops.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout]  87 | impl ShopTypeDir {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 105 |     fn get_idx(&self, i: usize) -> Option<&ShopType> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_item` is never used
[INFO] [stdout]    --> src/shops.rs:185:4
[INFO] [stdout]     |
[INFO] [stdout] 185 | fn random_item(name: &str, in_money: &f32, in_capacity: &u32) -> Item {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/shops.rs:219:8
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub fn main() {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mall` is never constructed
[INFO] [stdout]  --> src/structs.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Mall {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_shops`, `get_mut_shop`, and `find_shop` are never used
[INFO] [stdout]   --> src/structs.rs:7:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Mall {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout]  6 |     // creates new mall
[INFO] [stdout]  7 |     pub fn new(shops: Vec<Shop>) -> Mall {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub fn get_shops(&self) -> &Vec<Shop> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn get_mut_shop(&mut self, index: usize) -> Option<&mut Shop> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn find_shop(&self, sh_name: &str) -> Option<(&Shop, usize)> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shopper` is never constructed
[INFO] [stdout]   --> src/structs.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Shopper {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/structs.rs:38:12
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl Shopper {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  37 |     // create new shopper
[INFO] [stdout]  38 |     pub fn new(money: f32, capacity: u32) -> Shopper {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  46 |     pub fn get_money(&self) -> &f32 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  50 |     pub fn get_capacity(&self) -> &u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn buy_basket(&mut self, basket: &mut Basket) -> Result<(), &str> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn update_inventory(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn cal_remaining_capacity(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn cal_taken_capacity(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shop` is never constructed
[INFO] [stdout]    --> src/structs.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub struct Shop {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/structs.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl Shop {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 118 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn get_basket_capacity(&self) -> &u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn get_inventory(&self) -> &Vec<Item> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn take_item(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn put_item_back(&mut self, item: &Item) -> Result<(), &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn put_amount_back(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn get_item(&self, item_name: &str) -> Option<&Item> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Item` is never constructed
[INFO] [stdout]    --> src/structs.rs:190:12
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub struct Item {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_name`, `get_size`, `get_quantity`, `get_cost`, and `get_is_stolen` are never used
[INFO] [stdout]    --> src/structs.rs:199:12
[INFO] [stdout]     |
[INFO] [stdout] 198 | impl Item {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 199 |     pub fn new(name: String, cost: f32, size: u32, quantity: u32) -> Item {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn get_name(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn get_size(&self) -> &u32 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn get_quantity(&self) -> &u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub fn get_cost(&self) -> &f32 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     pub fn get_is_stolen(&self) -> &bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Basket` is never constructed
[INFO] [stdout]    --> src/structs.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout] 230 | pub struct Basket {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_basket_capacity`, `add`, and `remove` are never used
[INFO] [stdout]    --> src/structs.rs:236:12
[INFO] [stdout]     |
[INFO] [stdout] 235 | impl Basket {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 236 |     pub fn new(basket_capacity: u32) -> Basket {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn get_basket_capacity(&self) -> &u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn add(&mut self, item: Item) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn remove(&mut self, item_index: usize) -> Result<Item, &str> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IntoBoxedView` is never used
[INFO] [stdout]  --> src/traits.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait IntoBoxedView {
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Test` is never used
[INFO] [stdout]   --> src/traits.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub trait Test: Any {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ViewAndTest` is never used
[INFO] [stdout]   --> src/traits.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub trait ViewAndTest: View + Test {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_generic_shop` is never used
[INFO] [stdout]  --> src/utils.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn create_generic_shop() -> Shop {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_generic_mall` is never used
[INFO] [stdout]   --> src/utils.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn create_generic_mall() -> Mall {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_item_in_inventory` is never used
[INFO] [stdout]   --> src/utils.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn find_item_in_inventory<'b>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_user_input` is never used
[INFO] [stdout]   --> src/utils.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn get_user_input(prompt: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_f32` is never used
[INFO] [stdout]   --> src/utils.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn parse_f32(prompt: &str) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_u32` is never used
[INFO] [stdout]   --> src/utils.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn parse_u32(prompt: &str) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_game` is never used
[INFO] [stdout]   --> src/utils.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn init_game() -> (Shopper, Mall) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `return_basket` is never used
[INFO] [stdout]   --> src/utils.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn return_basket(basket: &mut Basket, shop: &mut Shop) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_stolen` is never used
[INFO] [stdout]   --> src/utils.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn print_stolen(shopper: &Shopper) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_stats` is never used
[INFO] [stdout]    --> src/utils.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn print_stats(shopper: &Shopper) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/curses.rs:210:13
[INFO] [stdout]     |
[INFO] [stdout] 210 |             mem::replace(&mut texts[ll - 4], format!(" |{:7}| ", label));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 210 |             let _ = mem::replace(&mut texts[ll - 4], format!(" |{:7}| ", label));
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.56s
[INFO] running `Command { std: "docker" "inspect" "d2f957598738a16e3439ab50247d0ea4dd741c11fccfcc202b3367b1215c1463", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d2f957598738a16e3439ab50247d0ea4dd741c11fccfcc202b3367b1215c1463", kill_on_drop: false }`
[INFO] [stdout] d2f957598738a16e3439ab50247d0ea4dd741c11fccfcc202b3367b1215c1463
