[INFO] cloning repository https://github.com/manishsingh10895/workspace-cli
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/manishsingh10895/workspace-cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanishsingh10895%2Fworkspace-cli", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanishsingh10895%2Fworkspace-cli'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] aa11a2e09043f0a3feb4b38e01692fac50eaf223
[INFO] testing manishsingh10895/workspace-cli against 1.54.0 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanishsingh10895%2Fworkspace-cli" "/workspace/builds/worker-0/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/manishsingh10895/workspace-cli on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/manishsingh10895/workspace-cli
[INFO] finished tweaking git repo https://github.com/manishsingh10895/workspace-cli
[INFO] tweaked toml for git repo https://github.com/manishsingh10895/workspace-cli written to /workspace/builds/worker-0/source/Cargo.toml
[INFO] crate git repo https://github.com/manishsingh10895/workspace-cli already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5ada50dcf86329e9841e07b0f0eab4ecf5fb705beabfc274bfb2f5380682588a
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "5ada50dcf86329e9841e07b0f0eab4ecf5fb705beabfc274bfb2f5380682588a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5ada50dcf86329e9841e07b0f0eab4ecf5fb705beabfc274bfb2f5380682588a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5ada50dcf86329e9841e07b0f0eab4ecf5fb705beabfc274bfb2f5380682588a", kill_on_drop: false }`
[INFO] [stdout] 5ada50dcf86329e9841e07b0f0eab4ecf5fb705beabfc274bfb2f5380682588a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fa50dba3095ee1e3545fdc42eeb7c6b9c2941f63288413069f6ae553eebddf47
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "fa50dba3095ee1e3545fdc42eeb7c6b9c2941f63288413069f6ae553eebddf47", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling syn v1.0.72
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling serde v1.0.125
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling signal-hook v0.3.8
[INFO] [stderr]    Compiling doc-comment v0.3.3
[INFO] [stderr]    Compiling predicates-core v1.0.2
[INFO] [stderr]    Compiling rustc-demangle v0.1.19
[INFO] [stderr]    Compiling once_cell v1.7.2
[INFO] [stderr]    Compiling ahash v0.4.7
[INFO] [stderr]    Compiling array-macro v1.0.5
[INFO] [stderr]    Compiling object v0.23.0
[INFO] [stderr]    Compiling treeline v0.1.0
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling difference v2.0.0
[INFO] [stderr]    Compiling xi-unicode v0.3.0
[INFO] [stderr]    Compiling fallible-iterator v0.2.0
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.4
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling backtrace v0.3.58
[INFO] [stderr]    Compiling ahash v0.6.3
[INFO] [stderr]    Compiling ncurses v5.101.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.22.1
[INFO] [stderr]    Compiling addr2line v0.14.1
[INFO] [stderr]    Compiling owning_ref v0.4.1
[INFO] [stderr]    Compiling regex-automata v0.1.9
[INFO] [stderr]    Compiling hashbrown v0.9.1
[INFO] [stderr]    Compiling predicates-tree v1.0.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.26
[INFO] [stderr]    Compiling time v0.1.43
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling signal-hook-registry v1.3.0
[INFO] [stderr]    Compiling dirs-sys v0.3.6
[INFO] [stderr]    Compiling term_size v0.3.2
[INFO] [stderr]    Compiling wait-timeout v0.2.0
[INFO] [stderr]    Compiling hashlink v0.6.0
[INFO] [stderr]    Compiling clap v2.33.3
[INFO] [stderr]    Compiling colored v2.0.0
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling dirs v3.0.2
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling bstr v0.2.16
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling pancurses v0.16.1
[INFO] [stderr]    Compiling crossbeam-channel v0.5.1
[INFO] [stderr]    Compiling num-complex v0.3.1
[INFO] [stderr]    Compiling float-cmp v0.8.0
[INFO] [stderr]    Compiling regex v1.5.3
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling num v0.3.1
[INFO] [stderr]    Compiling predicates v1.0.8
[INFO] [stderr]    Compiling assert_cmd v1.0.3
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling darling_core v0.10.2
[INFO] [stderr]    Compiling synstructure v0.12.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling enum-map-derive v0.4.6
[INFO] [stderr]    Compiling structopt-derive v0.4.14
[INFO] [stderr]    Compiling darling_macro v0.10.2
[INFO] [stderr]    Compiling rusqlite v0.25.1
[INFO] [stderr]    Compiling enum-map v0.6.4
[INFO] [stderr]    Compiling failure v0.1.8
[INFO] [stderr]    Compiling exitfailure v0.5.1
[INFO] [stderr]    Compiling darling v0.10.2
[INFO] [stderr]    Compiling wasmer_enumset_derive v0.5.0
[INFO] [stderr]    Compiling structopt v0.3.21
[INFO] [stderr]    Compiling wasmer_enumset v1.0.1
[INFO] [stderr]    Compiling cursive_core v0.2.2
[INFO] [stderr]    Compiling cursive v0.16.3
[INFO] [stderr]    Compiling coper-cli v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ViewRef`
[INFO] [stdout]  --> src/visual.rs:7:56
[INFO] [stdout]   |
[INFO] [stdout] 7 |     views::{Button, EditView, LinearLayout, NamedView, ViewRef},
[INFO] [stdout]   |                                                        ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/visual.rs:132:67
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn on_view_workspace(workspace_hash: HashMap<String, i32>) -> Box<Fn(&mut Cursive, &str)> {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Cursive, &str)`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `workspaceId`
[INFO] [stdout]   --> src/visual.rs:54:19
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn make_workspace(workspaceId: i32, name: String, dirs: &Vec<(i32, String)>) -> Workspace {
[INFO] [stdout]    |                   ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspaceId`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/visual.rs:160:40
[INFO] [stdout]     |
[INFO] [stdout] 160 | ...                   Ok(id) => {
[INFO] [stdout]     |                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `work`
[INFO] [stdout]    --> src/visual.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let work = Workspace::new(String::from("choice")).id(workspaceId);
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_work`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `table_exists` is never read
[INFO] [stdout]  --> src/db.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut table_exists = false;
[INFO] [stdout]   |             ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]   = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `DirList`
[INFO] [stdout]   --> src/visual.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     DirList,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `DirSelect`
[INFO] [stdout]   --> src/visual.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     DirSelect,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `check_dir_already_exists`
[INFO] [stdout]   --> src/workspace.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn check_dir_already_exists(&self, dir: &str) -> Option<usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `remove_dir`
[INFO] [stdout]   --> src/workspace.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn remove_dir(&mut self, dir: &str) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         fetch_all_workspaces();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `workspaceId` should have a snake case name
[INFO] [stdout]   --> src/visual.rs:54:19
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn make_workspace(workspaceId: i32, name: String, dirs: &Vec<(i32, String)>) -> Workspace {
[INFO] [stdout]    |                   ^^^^^^^^^^^ help: convert the identifier to snake case: `workspace_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `workspaceId` should have a snake case name
[INFO] [stdout]   --> src/visual.rs:79:25
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn create_dir_list_view(workspaceId: i32) -> NamedView<SelectView<(usize, i32, String)>> {
[INFO] [stdout]    |                         ^^^^^^^^^^^ help: convert the identifier to snake case: `workspace_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `workspaceId` should have a snake case name
[INFO] [stdout]    --> src/visual.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let workspaceId = workspace_hash[choice];
[INFO] [stdout]     |             ^^^^^^^^^^^ help: convert the identifier to snake case: `workspace_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 2m 43s
[INFO] running `Command { std: "docker" "inspect" "fa50dba3095ee1e3545fdc42eeb7c6b9c2941f63288413069f6ae553eebddf47", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fa50dba3095ee1e3545fdc42eeb7c6b9c2941f63288413069f6ae553eebddf47", kill_on_drop: false }`
[INFO] [stdout] fa50dba3095ee1e3545fdc42eeb7c6b9c2941f63288413069f6ae553eebddf47
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 34935f649d77212eb543c91c695b4e5293c96b148ac7a0972e37a0a6850d4183
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "34935f649d77212eb543c91c695b4e5293c96b148ac7a0972e37a0a6850d4183", kill_on_drop: false }`
[INFO] [stderr]    Compiling coper-cli v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ViewRef`
[INFO] [stdout]  --> src/visual.rs:7:56
[INFO] [stdout]   |
[INFO] [stdout] 7 |     views::{Button, EditView, LinearLayout, NamedView, ViewRef},
[INFO] [stdout]   |                                                        ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/visual.rs:132:67
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn on_view_workspace(workspace_hash: HashMap<String, i32>) -> Box<Fn(&mut Cursive, &str)> {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Cursive, &str)`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `workspaceId`
[INFO] [stdout]   --> src/visual.rs:54:19
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn make_workspace(workspaceId: i32, name: String, dirs: &Vec<(i32, String)>) -> Workspace {
[INFO] [stdout]    |                   ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspaceId`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/visual.rs:160:40
[INFO] [stdout]     |
[INFO] [stdout] 160 | ...                   Ok(id) => {
[INFO] [stdout]     |                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `work`
[INFO] [stdout]    --> src/visual.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let work = Workspace::new(String::from("choice")).id(workspaceId);
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_work`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `table_exists` is never read
[INFO] [stdout]  --> src/db.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut table_exists = false;
[INFO] [stdout]   |             ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]   = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `DirList`
[INFO] [stdout]   --> src/visual.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     DirList,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `DirSelect`
[INFO] [stdout]   --> src/visual.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     DirSelect,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/main.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         fetch_all_workspaces();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `workspaceId` should have a snake case name
[INFO] [stdout]   --> src/visual.rs:54:19
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn make_workspace(workspaceId: i32, name: String, dirs: &Vec<(i32, String)>) -> Workspace {
[INFO] [stdout]    |                   ^^^^^^^^^^^ help: convert the identifier to snake case: `workspace_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `workspaceId` should have a snake case name
[INFO] [stdout]   --> src/visual.rs:79:25
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn create_dir_list_view(workspaceId: i32) -> NamedView<SelectView<(usize, i32, String)>> {
[INFO] [stdout]    |                         ^^^^^^^^^^^ help: convert the identifier to snake case: `workspace_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `workspaceId` should have a snake case name
[INFO] [stdout]    --> src/visual.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let workspaceId = workspace_hash[choice];
[INFO] [stdout]     |             ^^^^^^^^^^^ help: convert the identifier to snake case: `workspace_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 3.89s
[INFO] running `Command { std: "docker" "inspect" "34935f649d77212eb543c91c695b4e5293c96b148ac7a0972e37a0a6850d4183", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "34935f649d77212eb543c91c695b4e5293c96b148ac7a0972e37a0a6850d4183", kill_on_drop: false }`
[INFO] [stdout] 34935f649d77212eb543c91c695b4e5293c96b148ac7a0972e37a0a6850d4183
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 4dc78b8b2438314fe2d00caad5ae814da7b753c9abc9f4e6e798e74e2e05664f
[INFO] running `Command { std: "docker" "start" "-a" "4dc78b8b2438314fe2d00caad5ae814da7b753c9abc9f4e6e798e74e2e05664f", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `ViewRef`
[INFO] [stderr]  --> src/visual.rs:7:56
[INFO] [stderr]   |
[INFO] [stderr] 7 |     views::{Button, EditView, LinearLayout, NamedView, ViewRef},
[INFO] [stderr]   |                                                        ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/visual.rs:132:67
[INFO] [stderr]     |
[INFO] [stderr] 132 | fn on_view_workspace(workspace_hash: HashMap<String, i32>) -> Box<Fn(&mut Cursive, &str)> {
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Cursive, &str)`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `workspaceId`
[INFO] [stderr]   --> src/visual.rs:54:19
[INFO] [stderr]    |
[INFO] [stderr] 54 | fn make_workspace(workspaceId: i32, name: String, dirs: &Vec<(i32, String)>) -> Workspace {
[INFO] [stderr]    |                   ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspaceId`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> src/visual.rs:160:40
[INFO] [stderr]     |
[INFO] [stderr] 160 | ...                   Ok(id) => {
[INFO] [stderr]     |                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `work`
[INFO] [stderr]    --> src/visual.rs:139:13
[INFO] [stderr]     |
[INFO] [stderr] 139 |         let work = Workspace::new(String::from("choice")).id(workspaceId);
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_work`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `table_exists` is never read
[INFO] [stderr]  --> src/db.rs:7:13
[INFO] [stderr]   |
[INFO] [stderr] 7 |     let mut table_exists = false;
[INFO] [stderr]   |             ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr]   = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `DirList`
[INFO] [stderr]   --> src/visual.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     DirList,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `DirSelect`
[INFO] [stderr]   --> src/visual.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 |     DirSelect,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/main.rs:44:9
[INFO] [stderr]    |
[INFO] [stderr] 44 |         fetch_all_workspaces();
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: variable `workspaceId` should have a snake case name
[INFO] [stderr]   --> src/visual.rs:54:19
[INFO] [stderr]    |
[INFO] [stderr] 54 | fn make_workspace(workspaceId: i32, name: String, dirs: &Vec<(i32, String)>) -> Workspace {
[INFO] [stderr]    |                   ^^^^^^^^^^^ help: convert the identifier to snake case: `workspace_id`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `workspaceId` should have a snake case name
[INFO] [stderr]   --> src/visual.rs:79:25
[INFO] [stderr]    |
[INFO] [stderr] 79 | fn create_dir_list_view(workspaceId: i32) -> NamedView<SelectView<(usize, i32, String)>> {
[INFO] [stderr]    |                         ^^^^^^^^^^^ help: convert the identifier to snake case: `workspace_id`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `workspaceId` should have a snake case name
[INFO] [stderr]    --> src/visual.rs:137:13
[INFO] [stderr]     |
[INFO] [stderr] 137 |         let workspaceId = workspace_hash[choice];
[INFO] [stderr]     |             ^^^^^^^^^^^ help: convert the identifier to snake case: `workspace_id`
[INFO] [stderr] 
[INFO] [stderr] warning: 12 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.14s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/coper_cli-960ce7c6b33f266d)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test workspace::tests::add_directory ... ok
[INFO] [stdout] test workspace::tests::remove_non_existant_dir ... ok
[INFO] [stdout] test workspace::tests::remove_dir ... ok
[INFO] [stdout] test db::tests::insert_a_workspace ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- db::tests::insert_a_workspace stdout ----
[INFO] [stdout] Error: SqliteFailure(Error { code: Unknown, extended_code: 1 }, Some("table workspaces already exists"))
[INFO] [stdout] thread 'db::tests::insert_a_workspace' panicked at 'assertion failed: `(left == right)`
[INFO] [stdout]   left: `1`,
[INFO] [stdout]  right: `0`: the test returned a termination value with a non-zero status code (1) which indicates a failure', /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/test/src/lib.rs:193:5
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55bad95b7590 - std::backtrace_rs::backtrace::libunwind::trace::h34055254b57d8e79
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
[INFO] [stdout]    1:     0x55bad95b7590 - std::backtrace_rs::backtrace::trace_unsynchronized::h8f1e3fbd9afff6ec
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55bad95b7590 - std::sys_common::backtrace::_print_fmt::h3a99a796b770c360
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x55bad95b7590 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h32d1f94a80615d18
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:46:22
[INFO] [stdout]    4:     0x55bad95d9e1c - core::fmt::write::h306731c068f7162c
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/fmt/mod.rs:1110:17
[INFO] [stdout]    5:     0x55bad95b4445 - std::io::Write::write_fmt::h87f19b0a2cd190bc
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/io/mod.rs:1588:15
[INFO] [stdout]    6:     0x55bad95b96fb - std::sys_common::backtrace::_print::h5abaa2601a852287
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:49:5
[INFO] [stdout]    7:     0x55bad95b96fb - std::sys_common::backtrace::print::h8d81445442bb638f
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:36:9
[INFO] [stdout]    8:     0x55bad95b96fb - std::panicking::default_hook::{{closure}}::hcfe804496a9fa747
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:208:50
[INFO] [stdout]    9:     0x55bad95b920c - std::panicking::default_hook::hbea8e3ccf2ba8901
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:222:9
[INFO] [stdout]   10:     0x55bad95b9dc4 - std::panicking::rust_panic_with_hook::h7ee9e1a2d0f8975a
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:622:17
[INFO] [stdout]   11:     0x55bad95b98a7 - std::panicking::begin_panic_handler::{{closure}}::h8ab3b4491718b2c7
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:519:13
[INFO] [stdout]   12:     0x55bad95b7a8c - std::sys_common::backtrace::__rust_end_short_backtrace::hd489062ffa586a9f
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:141:18
[INFO] [stdout]   13:     0x55bad95b9809 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:515:5
[INFO] [stdout]   14:     0x55bad940b8b1 - core::panicking::panic_fmt::hca6330e3e14086b4
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/panicking.rs:92:14
[INFO] [stdout]   15:     0x55bad95d881e - core::panicking::assert_failed_inner::h33b45280069a80ed
[INFO] [stdout]   16:     0x55bad959f3aa - core::panicking::assert_failed::h80ce156e4839411e
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/panicking.rs:117:5
[INFO] [stdout]   17:     0x55bad9412a6e - test::assert_test_result::h35b98b733bd2db68
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/test/src/lib.rs:193:5
[INFO] [stdout]   18:     0x55bad940e73d - coper_cli::db::tests::insert_a_workspace::{{closure}}::h31a40c30569584ec
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db.rs:230:5
[INFO] [stdout]   19:     0x55bad940f70e - core::ops::function::FnOnce::call_once::h23333e986886454a
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   20:     0x55bad943cd93 - core::ops::function::FnOnce::call_once::h152e7e439ff59e19
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   21:     0x55bad943cd93 - test::__rust_begin_short_backtrace::h0908f3b1fdbb72ab
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/test/src/lib.rs:577:5
[INFO] [stdout]   22:     0x55bad943b850 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf6d2a51e5587546c
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/alloc/src/boxed.rs:1575:9
[INFO] [stdout]   23:     0x55bad943b850 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h8af660f3a89ef593
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:347:9
[INFO] [stdout]   24:     0x55bad943b850 - std::panicking::try::do_call::hd36aef60f84b6d36
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:401:40
[INFO] [stdout]   25:     0x55bad943b850 - std::panicking::try::h9932b4480e69817c
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:365:19
[INFO] [stdout]   26:     0x55bad943b850 - std::panic::catch_unwind::h6aa177099cfff5f8
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:434:14
[INFO] [stdout]   27:     0x55bad943b850 - test::run_test_in_process::h5884d6f2d99e20c3
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/test/src/lib.rs:600:18
[INFO] [stdout]   28:     0x55bad943b850 - test::run_test::run_test_inner::{{closure}}::h6fdc58c6d5f5b6e3
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/test/src/lib.rs:492:39
[INFO] [stdout]   29:     0x55bad9414f02 - test::run_test::run_test_inner::{{closure}}::h408365d67a78ade8
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/test/src/lib.rs:519:37
[INFO] [stdout]   30:     0x55bad9414f02 - std::sys_common::backtrace::__rust_begin_short_backtrace::hb560b77c4f701523
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:125:18
[INFO] [stdout]   31:     0x55bad9418ab8 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hf2e7831dad93c597
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/thread/mod.rs:481:17
[INFO] [stdout]   32:     0x55bad9418ab8 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hd2e08783d8be4d02
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:347:9
[INFO] [stdout]   33:     0x55bad9418ab8 - std::panicking::try::do_call::h062597b7acfd6b82
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:401:40
[INFO] [stdout]   34:     0x55bad9418ab8 - std::panicking::try::h0d7b79db04c14552
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:365:19
[INFO] [stdout]   35:     0x55bad9418ab8 - std::panic::catch_unwind::hb01a0b5e7c8cd43b
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:434:14
[INFO] [stdout]   36:     0x55bad9418ab8 - std::thread::Builder::spawn_unchecked::{{closure}}::h5bde48cc887e0d1e
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/thread/mod.rs:480:30
[INFO] [stdout]   37:     0x55bad9418ab8 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h745ea30807a29e55
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   38:     0x55bad95be887 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7ece6cfefaff1005
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/alloc/src/boxed.rs:1575:9
[INFO] [stdout]   39:     0x55bad95be887 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hb8b48e55c21f193e
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/alloc/src/boxed.rs:1575:9
[INFO] [stdout]   40:     0x55bad95be887 - std::sys::unix::thread::Thread::new::thread_start::h8c7c4450dba62914
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys/unix/thread.rs:71:17
[INFO] [stdout]   41:     0x7f3de3488609 - start_thread
[INFO] [stdout]   42:     0x7f3de325a293 - clone
[INFO] [stdout]   43:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     db::tests::insert_a_workspace
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 3 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass '--bin coper-cli'
[INFO] running `Command { std: "docker" "inspect" "4dc78b8b2438314fe2d00caad5ae814da7b753c9abc9f4e6e798e74e2e05664f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4dc78b8b2438314fe2d00caad5ae814da7b753c9abc9f4e6e798e74e2e05664f", kill_on_drop: false }`
[INFO] [stdout] 4dc78b8b2438314fe2d00caad5ae814da7b753c9abc9f4e6e798e74e2e05664f
