[INFO] fetching crate htodo 0.1.5...
[INFO] building htodo-0.1.5 against master#c7f6aa2869acdbf014d094c6e427e554e160b6db for pr-146237-2
[INFO] extracting crate htodo 0.1.5 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate htodo 0.1.5
[INFO] finished tweaking crates.io crate htodo 0.1.5
[INFO] tweaked toml for crates.io crate htodo 0.1.5 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate htodo 0.1.5 on toolchain c7f6aa2869acdbf014d094c6e427e554e160b6db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate htodo 0.1.5 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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded libredox v0.0.1
[INFO] [stderr]   Downloaded prettytable-rs v0.10.0
[INFO] [stderr]   Downloaded uds_windows v1.0.2
[INFO] [stderr]   Downloaded event-listener-strategy v0.3.0
[INFO] [stderr]   Downloaded redox_users v0.4.4
[INFO] [stderr]   Downloaded errno v0.3.7
[INFO] [stderr]   Downloaded serde_repr v0.1.17
[INFO] [stderr]   Downloaded deranged v0.3.9
[INFO] [stderr]   Downloaded async-executor v1.6.0
[INFO] [stderr]   Downloaded concurrent-queue v2.3.0
[INFO] [stderr]   Downloaded async-channel v2.1.0
[INFO] [stderr]   Downloaded futures-lite v2.0.1
[INFO] [stderr]   Downloaded winnow v0.5.19
[INFO] [stderr]   Downloaded async-task v4.5.0
[INFO] [stderr]   Downloaded polling v3.3.0
[INFO] [stderr]   Downloaded async-io v2.2.0
[INFO] [stderr]   Downloaded clap v4.4.8
[INFO] [stderr]   Downloaded async-lock v3.1.0
[INFO] [stderr]   Downloaded hashbrown v0.14.2
[INFO] [stderr]   Downloaded time v0.3.30
[INFO] [stderr]   Downloaded clap_builder v4.4.8
[INFO] [stderr]   Downloaded getrandom v0.2.11
[INFO] [stderr]   Downloaded rustix v0.38.24
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1ece77c7bd7600c3c69f3b5503c8d92c85d0fc18cc3199701cc5f3cb323ad9e2
[INFO] running `Command { std: "docker" "start" "-a" "1ece77c7bd7600c3c69f3b5503c8d92c85d0fc18cc3199701cc5f3cb323ad9e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1ece77c7bd7600c3c69f3b5503c8d92c85d0fc18cc3199701cc5f3cb323ad9e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1ece77c7bd7600c3c69f3b5503c8d92c85d0fc18cc3199701cc5f3cb323ad9e2", kill_on_drop: false }`
[INFO] [stdout] 1ece77c7bd7600c3c69f3b5503c8d92c85d0fc18cc3199701cc5f3cb323ad9e2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ca3df7f352d3509d9b736d64dd6113c67460a872ce351cbc2514ca60071a7091
[INFO] running `Command { std: "docker" "start" "-a" "ca3df7f352d3509d9b736d64dd6113c67460a872ce351cbc2514ca60071a7091", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.69
[INFO] [stderr]    Compiling libc v0.2.150
[INFO] [stderr]    Compiling pin-project-lite v0.2.13
[INFO] [stderr]    Compiling memchr v2.6.4
[INFO] [stderr]    Compiling futures-core v0.3.29
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]    Compiling parking v2.2.0
[INFO] [stderr]    Compiling serde v1.0.192
[INFO] [stderr]    Compiling futures-io v0.3.29
[INFO] [stderr]    Compiling hashbrown v0.14.2
[INFO] [stderr]    Compiling winnow v0.5.19
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling fastrand v2.0.1
[INFO] [stderr]    Compiling waker-fn v1.1.1
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling async-lock v2.8.0
[INFO] [stderr]    Compiling polling v2.8.0
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling async-task v4.5.0
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling aho-corasick v1.1.2
[INFO] [stderr]    Compiling futures-lite v1.13.0
[INFO] [stderr]    Compiling rustix v0.37.27
[INFO] [stderr]    Compiling futures-task v0.3.29
[INFO] [stderr]    Compiling piper v0.2.1
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling concurrent-queue v2.3.0
[INFO] [stderr]    Compiling futures-lite v2.0.1
[INFO] [stderr]    Compiling async-fs v1.6.0
[INFO] [stderr]    Compiling event-listener v3.1.0
[INFO] [stderr]    Compiling async-io v1.13.0
[INFO] [stderr]    Compiling async-trait v0.1.74
[INFO] [stderr]    Compiling rustix v0.38.24
[INFO] [stderr]    Compiling futures-util v0.3.29
[INFO] [stderr]    Compiling indexmap v2.1.0
[INFO] [stderr]    Compiling event-listener-strategy v0.3.0
[INFO] [stderr]    Compiling linux-raw-sys v0.3.8
[INFO] [stderr]    Compiling anstyle-parse v0.2.2
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling async-lock v3.1.0
[INFO] [stderr]    Compiling async-channel v2.1.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling anstyle v1.0.4
[INFO] [stderr]    Compiling linux-raw-sys v0.4.11
[INFO] [stderr]    Compiling bitflags v2.4.1
[INFO] [stderr]    Compiling futures-sink v0.3.29
[INFO] [stderr]    Compiling getrandom v0.2.11
[INFO] [stderr]    Compiling nix v0.26.4
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling socket2 v0.4.10
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling cpufeatures v0.2.11
[INFO] [stderr]    Compiling anstream v0.6.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling async-executor v1.6.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling csv-core v0.1.11
[INFO] [stderr]    Compiling async-broadcast v0.5.1
[INFO] [stderr]    Compiling ordered-stream v0.2.0
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling serde_json v1.0.108
[INFO] [stderr]    Compiling clap_lex v0.6.0
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]    Compiling clap_builder v4.4.8
[INFO] [stderr]    Compiling unicode-width v0.1.11
[INFO] [stderr]    Compiling encode_unicode v1.0.0
[INFO] [stderr]    Compiling directories v5.0.1
[INFO] [stderr]    Compiling is-terminal v0.4.9
[INFO] [stderr]    Compiling xdg-home v1.0.0
[INFO] [stderr]    Compiling regex-automata v0.4.3
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling regex v1.10.2
[INFO] [stderr]    Compiling zvariant_utils v1.0.1
[INFO] [stderr]    Compiling serde_derive v1.0.192
[INFO] [stderr]    Compiling enumflags2_derive v0.7.8
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling async-recursion v1.0.5
[INFO] [stderr]    Compiling serde_repr v0.1.17
[INFO] [stderr]    Compiling clap_derive v4.4.7
[INFO] [stderr]    Compiling zvariant_derive v3.15.0
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling zbus_macros v3.14.1
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling blocking v1.5.1
[INFO] [stderr]    Compiling clap v4.4.8
[INFO] [stderr]    Compiling enumflags2 v0.7.8
[INFO] [stderr]    Compiling csv v1.3.0
[INFO] [stderr]    Compiling zvariant v3.15.0
[INFO] [stderr]    Compiling prettytable-rs v0.10.0
[INFO] [stderr]    Compiling zbus_names v2.6.0
[INFO] [stderr]    Compiling zbus v3.14.1
[INFO] [stderr]    Compiling notify-rust v4.10.0
[INFO] [stderr]    Compiling htodo v0.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `get_newest_id` is never used
[INFO] [stdout]  --> src/auto_increment_id.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn get_newest_id(storage: &Storage) -> i32 {
[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 `make_todo_file` is never used
[INFO] [stdout]  --> src/dir.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn make_todo_file() -> PathBuf {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_todo_file_path` is never used
[INFO] [stdout]   --> src/dir.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn get_todo_file_path() -> Result<PathBuf, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_todo_file_created` is never used
[INFO] [stdout]   --> src/dir.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn is_todo_file_created() -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_todos_from_file` is never used
[INFO] [stdout]   --> src/storage.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn read_todos_from_file(location: &PathBuf) -> Result<Vec<Todo>, serde_json::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Todo` is never constructed
[INFO] [stdout]   --> src/storage.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Todo {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/storage.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Todo {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 32 |     pub fn new(id: i32, name: &str, completed: bool) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Storage` is never constructed
[INFO] [stdout]   --> src/storage.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct Storage {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage.rs:47:8
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl Storage {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  47 |     fn default(file_path: Option<&str>) -> Self {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn new(file_path: Option<&str>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn clean(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  72 |     fn sync(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn pretty_print(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn get_todos(&self) -> &Vec<Todo> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn add(&mut self, name: &str, completed: bool) -> i32 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn get_by_id(&self, id: i32) -> &Todo {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn complete(&mut self, id: i32) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn uncomplete(&mut self, id: i32) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn edit_name(&mut self, id: i32, name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn update<F>(&mut self, id: i32, closure: F)
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 00s
[INFO] running `Command { std: "docker" "inspect" "ca3df7f352d3509d9b736d64dd6113c67460a872ce351cbc2514ca60071a7091", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca3df7f352d3509d9b736d64dd6113c67460a872ce351cbc2514ca60071a7091", kill_on_drop: false }`
[INFO] [stdout] ca3df7f352d3509d9b736d64dd6113c67460a872ce351cbc2514ca60071a7091
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 22431fcdf2c12ed51c1e7b8fa2b3798bce27609ee0961b5e15f40f9ecddfbea1
[INFO] running `Command { std: "docker" "start" "-a" "22431fcdf2c12ed51c1e7b8fa2b3798bce27609ee0961b5e15f40f9ecddfbea1", kill_on_drop: false }`
[INFO] [stderr]    Compiling htodo v0.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `get_newest_id` is never used
[INFO] [stdout]  --> src/auto_increment_id.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn get_newest_id(storage: &Storage) -> i32 {
[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 `make_todo_file` is never used
[INFO] [stdout]  --> src/dir.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn make_todo_file() -> PathBuf {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_todo_file_path` is never used
[INFO] [stdout]   --> src/dir.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn get_todo_file_path() -> Result<PathBuf, Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_todo_file_created` is never used
[INFO] [stdout]   --> src/dir.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn is_todo_file_created() -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_todos_from_file` is never used
[INFO] [stdout]   --> src/storage.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn read_todos_from_file(location: &PathBuf) -> Result<Vec<Todo>, serde_json::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Todo` is never constructed
[INFO] [stdout]   --> src/storage.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Todo {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/storage.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Todo {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 32 |     pub fn new(id: i32, name: &str, completed: bool) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Storage` is never constructed
[INFO] [stdout]   --> src/storage.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct Storage {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage.rs:47:8
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl Storage {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  47 |     fn default(file_path: Option<&str>) -> Self {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn new(file_path: Option<&str>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn clean(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  72 |     fn sync(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn pretty_print(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn get_todos(&self) -> &Vec<Todo> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn add(&mut self, name: &str, completed: bool) -> i32 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn get_by_id(&self, id: i32) -> &Todo {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn complete(&mut self, id: i32) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn uncomplete(&mut self, id: i32) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn edit_name(&mut self, id: i32, name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn update<F>(&mut self, id: i32, closure: F)
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.84s
[INFO] running `Command { std: "docker" "inspect" "22431fcdf2c12ed51c1e7b8fa2b3798bce27609ee0961b5e15f40f9ecddfbea1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "22431fcdf2c12ed51c1e7b8fa2b3798bce27609ee0961b5e15f40f9ecddfbea1", kill_on_drop: false }`
[INFO] [stdout] 22431fcdf2c12ed51c1e7b8fa2b3798bce27609ee0961b5e15f40f9ecddfbea1
