[INFO] cloning repository https://github.com/ammongit/markov-music
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ammongit/markov-music" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fammongit%2Fmarkov-music", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fammongit%2Fmarkov-music'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 68dea06d36893e7050d554ddc802504ddc3dddff
[INFO] testing ammongit/markov-music against 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fammongit%2Fmarkov-music" "/workspace/builds/worker-13/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ammongit/markov-music on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ammongit/markov-music
[INFO] finished tweaking git repo https://github.com/ammongit/markov-music
[INFO] tweaked toml for git repo https://github.com/ammongit/markov-music written to /workspace/builds/worker-13/source/Cargo.toml
[INFO] crate git repo https://github.com/ammongit/markov-music already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7106dfda1a3cb018b8e548672be9ed195dcd0d915b3e6583b6e8d05c21838894
[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" "7106dfda1a3cb018b8e548672be9ed195dcd0d915b3e6583b6e8d05c21838894", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7106dfda1a3cb018b8e548672be9ed195dcd0d915b3e6583b6e8d05c21838894", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7106dfda1a3cb018b8e548672be9ed195dcd0d915b3e6583b6e8d05c21838894", kill_on_drop: false }`
[INFO] [stdout] 7106dfda1a3cb018b8e548672be9ed195dcd0d915b3e6583b6e8d05c21838894
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9fb61c02342ff4264d37466f458eeaf5c790f9ee53de746f8d77a5a342e83d05
[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" "9fb61c02342ff4264d37466f458eeaf5c790f9ee53de746f8d77a5a342e83d05", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling unicode-segmentation v1.2.0
[INFO] [stderr]    Compiling bufstream v0.1.3
[INFO] [stderr]    Compiling term_size v0.3.0
[INFO] [stderr]    Compiling thread-id v3.2.0
[INFO] [stderr]    Compiling atty v0.2.2
[INFO] [stderr]    Compiling libsqlite3-sys v0.9.1
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]    Compiling simple-logging v2.0.1
[INFO] [stderr]    Compiling mpd v0.0.12
[INFO] [stderr]    Compiling textwrap v0.7.0
[INFO] [stderr]    Compiling clap v2.26.0
[INFO] [stderr]    Compiling serde_derive_internals v0.19.0
[INFO] [stderr]    Compiling serde_derive v1.0.27
[INFO] [stderr]    Compiling diesel_derives v1.1.0
[INFO] [stderr]    Compiling diesel v1.1.1
[INFO] [stderr]    Compiling serde v1.0.11
[INFO] [stderr]    Compiling toml v0.4.4
[INFO] [stderr]    Compiling markov-music v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/choose.rs:29:74
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn random_key<'a, K: Eq + Hash, V>(map: &'a HashMap<K, V>, rng: &mut Rng) -> Option<&'a K> {
[INFO] [stdout]    |                                                                          ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/choose.rs:34:77
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn roulette_wheel<'a, K: Eq + Hash>(map: &'a HashMap<K, f32>, rng: &mut Rng) -> Option<&'a K> {
[INFO] [stdout]    |                                                                             ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/error.rs:57:32
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn cause(&self) -> Option<&StdError> {
[INFO] [stdout]    |                                ^^^^^^^^ help: use `dyn`: `dyn StdError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/markov.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn start(&self, rng: &mut Rng) -> Option<&T> {
[INFO] [stdout]    |                                   ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/markov.rs:68:50
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn next<U>(&self, current: &U, rng: &mut Rng) -> Option<&T>
[INFO] [stdout]    |                                                  ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/config.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | / lazy_static! {
[INFO] [stdout] 30 | |     static ref DEFAULT_CONFIG_PATH: PathBuf = {
[INFO] [stdout] 31 | |         let mut dir = match env::var_os("XDG_CONFIG_HOME") {
[INFO] [stdout] 32 | |             Some(dir) => PathBuf::from(dir),
[INFO] [stdout] ...  |
[INFO] [stdout] 42 | |     };
[INFO] [stdout] 43 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:73:25
[INFO] [stdout]    |
[INFO] [stdout] 73 |         write!(f, "{}", StdError::description(self))
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::env::home_dir`: This function's behavior is unexpected and probably not what you want. Consider using a crate from crates.io instead.
[INFO] [stdout]   --> src/utils.rs:25:40
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub static ref HOME_DIR: PathBuf = env::home_dir().expect("Unable to get home directory");
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/utils.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | / lazy_static! {
[INFO] [stdout] 25 | |     pub static ref HOME_DIR: PathBuf = env::home_dir().expect("Unable to get home directory");
[INFO] [stdout] 26 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:47:28
[INFO] [stdout]    |
[INFO] [stdout] 47 |             Io(ref e) => e.description(),
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:48:34
[INFO] [stdout]    |
[INFO] [stdout] 48 |             IntParse(ref e) => e.description(),
[INFO] [stdout]    |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:49:30
[INFO] [stdout]    |
[INFO] [stdout] 49 |             Utf8(ref e) => e.description(),
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:50:32
[INFO] [stdout]    |
[INFO] [stdout] 50 |             TomlDe(ref e) => e.description(),
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:51:34
[INFO] [stdout]    |
[INFO] [stdout] 51 |             MpdParse(ref e) => e.description(),
[INFO] [stdout]    |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:52:34
[INFO] [stdout]    |
[INFO] [stdout] 52 |             MpdProto(ref e) => e.description(),
[INFO] [stdout]    |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:53:35
[INFO] [stdout]    |
[INFO] [stdout] 53 |             MpdServer(ref e) => e.description(),
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `random_key`
[INFO] [stdout]   --> src/choose.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn random_key<'a, K: Eq + Hash, V>(map: &'a HashMap<K, V>, rng: &mut Rng) -> Option<&'a K> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `roulette_wheel`
[INFO] [stdout]   --> src/choose.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn roulette_wheel<'a, K: Eq + Hash>(map: &'a HashMap<K, f32>, rng: &mut Rng) -> Option<&'a K> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `modify_weight`
[INFO] [stdout]   --> src/markov.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn modify_weight(&mut self, prev: T, next: T, diff: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `clear`
[INFO] [stdout]   --> src/markov.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn clear<U>(&mut self, item: &U)
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `start`
[INFO] [stdout]   --> src/markov.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn start(&self, rng: &mut Rng) -> Option<&T> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `next`
[INFO] [stdout]   --> src/markov.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn next<U>(&self, current: &U, rng: &mut Rng) -> Option<&T>
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `possible_next`
[INFO] [stdout]   --> src/markov.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn possible_next<U>(&self, current: &U) -> Option<&HashMap<T, f32>>
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `split_cmd`
[INFO] [stdout]   --> src/socket.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn split_cmd(command: &mut str) -> (&mut str, &mut str) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `bind`
[INFO] [stdout]   --> src/socket.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn bind(config: &DaemonConfig) -> Result<Self> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `wait`
[INFO] [stdout]   --> src/socket.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn wait(&self) -> Result<()> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `respond`
[INFO] [stdout]   --> src/socket.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn respond(&self, command: &mut str) -> Result<&'static str> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_recommend`
[INFO] [stdout]   --> src/socket.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn set_recommend(&self, arg: &mut str) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `empty_mut_str`
[INFO] [stdout]   --> src/utils.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn empty_mut_str() -> &'static mut str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `sigmoid`
[INFO] [stdout]   --> src/utils.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn sigmoid(n: f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 30 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 35.92s
[INFO] running `Command { std: "docker" "inspect" "9fb61c02342ff4264d37466f458eeaf5c790f9ee53de746f8d77a5a342e83d05", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9fb61c02342ff4264d37466f458eeaf5c790f9ee53de746f8d77a5a342e83d05", kill_on_drop: false }`
[INFO] [stdout] 9fb61c02342ff4264d37466f458eeaf5c790f9ee53de746f8d77a5a342e83d05
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", 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] 0cceafd8ca8f89b175fcff184ecee9186c389f909aabda470f3484b2e8845c7d
[INFO] running `Command { std: "docker" "start" "-a" "0cceafd8ca8f89b175fcff184ecee9186c389f909aabda470f3484b2e8845c7d", kill_on_drop: false }`
[INFO] [stderr]    Compiling markov-music v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/choose.rs:29:74
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn random_key<'a, K: Eq + Hash, V>(map: &'a HashMap<K, V>, rng: &mut Rng) -> Option<&'a K> {
[INFO] [stdout]    |                                                                          ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/choose.rs:34:77
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn roulette_wheel<'a, K: Eq + Hash>(map: &'a HashMap<K, f32>, rng: &mut Rng) -> Option<&'a K> {
[INFO] [stdout]    |                                                                             ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/error.rs:57:32
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn cause(&self) -> Option<&StdError> {
[INFO] [stdout]    |                                ^^^^^^^^ help: use `dyn`: `dyn StdError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/markov.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn start(&self, rng: &mut Rng) -> Option<&T> {
[INFO] [stdout]    |                                   ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/markov.rs:68:50
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn next<U>(&self, current: &U, rng: &mut Rng) -> Option<&T>
[INFO] [stdout]    |                                                  ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/config.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | / lazy_static! {
[INFO] [stdout] 30 | |     static ref DEFAULT_CONFIG_PATH: PathBuf = {
[INFO] [stdout] 31 | |         let mut dir = match env::var_os("XDG_CONFIG_HOME") {
[INFO] [stdout] 32 | |             Some(dir) => PathBuf::from(dir),
[INFO] [stdout] ...  |
[INFO] [stdout] 42 | |     };
[INFO] [stdout] 43 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:73:25
[INFO] [stdout]    |
[INFO] [stdout] 73 |         write!(f, "{}", StdError::description(self))
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::env::home_dir`: This function's behavior is unexpected and probably not what you want. Consider using a crate from crates.io instead.
[INFO] [stdout]   --> src/utils.rs:25:40
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub static ref HOME_DIR: PathBuf = env::home_dir().expect("Unable to get home directory");
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/utils.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | / lazy_static! {
[INFO] [stdout] 25 | |     pub static ref HOME_DIR: PathBuf = env::home_dir().expect("Unable to get home directory");
[INFO] [stdout] 26 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:47:28
[INFO] [stdout]    |
[INFO] [stdout] 47 |             Io(ref e) => e.description(),
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:48:34
[INFO] [stdout]    |
[INFO] [stdout] 48 |             IntParse(ref e) => e.description(),
[INFO] [stdout]    |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:49:30
[INFO] [stdout]    |
[INFO] [stdout] 49 |             Utf8(ref e) => e.description(),
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:50:32
[INFO] [stdout]    |
[INFO] [stdout] 50 |             TomlDe(ref e) => e.description(),
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:51:34
[INFO] [stdout]    |
[INFO] [stdout] 51 |             MpdParse(ref e) => e.description(),
[INFO] [stdout]    |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:52:34
[INFO] [stdout]    |
[INFO] [stdout] 52 |             MpdProto(ref e) => e.description(),
[INFO] [stdout]    |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:53:35
[INFO] [stdout]    |
[INFO] [stdout] 53 |             MpdServer(ref e) => e.description(),
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `random_key`
[INFO] [stdout]   --> src/choose.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn random_key<'a, K: Eq + Hash, V>(map: &'a HashMap<K, V>, rng: &mut Rng) -> Option<&'a K> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `roulette_wheel`
[INFO] [stdout]   --> src/choose.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn roulette_wheel<'a, K: Eq + Hash>(map: &'a HashMap<K, f32>, rng: &mut Rng) -> Option<&'a K> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `modify_weight`
[INFO] [stdout]   --> src/markov.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn modify_weight(&mut self, prev: T, next: T, diff: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `clear`
[INFO] [stdout]   --> src/markov.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn clear<U>(&mut self, item: &U)
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `start`
[INFO] [stdout]   --> src/markov.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn start(&self, rng: &mut Rng) -> Option<&T> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `next`
[INFO] [stdout]   --> src/markov.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn next<U>(&self, current: &U, rng: &mut Rng) -> Option<&T>
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `possible_next`
[INFO] [stdout]   --> src/markov.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn possible_next<U>(&self, current: &U) -> Option<&HashMap<T, f32>>
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `split_cmd`
[INFO] [stdout]   --> src/socket.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn split_cmd(command: &mut str) -> (&mut str, &mut str) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `bind`
[INFO] [stdout]   --> src/socket.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn bind(config: &DaemonConfig) -> Result<Self> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `wait`
[INFO] [stdout]   --> src/socket.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn wait(&self) -> Result<()> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `respond`
[INFO] [stdout]   --> src/socket.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn respond(&self, command: &mut str) -> Result<&'static str> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_recommend`
[INFO] [stdout]   --> src/socket.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn set_recommend(&self, arg: &mut str) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `empty_mut_str`
[INFO] [stdout]   --> src/utils.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn empty_mut_str() -> &'static mut str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `sigmoid`
[INFO] [stdout]   --> src/utils.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn sigmoid(n: f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 30 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.17s
[INFO] running `Command { std: "docker" "inspect" "0cceafd8ca8f89b175fcff184ecee9186c389f909aabda470f3484b2e8845c7d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0cceafd8ca8f89b175fcff184ecee9186c389f909aabda470f3484b2e8845c7d", kill_on_drop: false }`
[INFO] [stdout] 0cceafd8ca8f89b175fcff184ecee9186c389f909aabda470f3484b2e8845c7d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 56b21a2ca52253ba7c2fae8fd7bd94ec7d00af6e93bb0611b1288b0051161a5a
[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" "56b21a2ca52253ba7c2fae8fd7bd94ec7d00af6e93bb0611b1288b0051161a5a", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/choose.rs:29:74
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub fn random_key<'a, K: Eq + Hash, V>(map: &'a HashMap<K, V>, rng: &mut Rng) -> Option<&'a K> {
[INFO] [stderr]    |                                                                          ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/choose.rs:34:77
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub fn roulette_wheel<'a, K: Eq + Hash>(map: &'a HashMap<K, f32>, rng: &mut Rng) -> Option<&'a K> {
[INFO] [stderr]    |                                                                             ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/error.rs:57:32
[INFO] [stderr]    |
[INFO] [stderr] 57 |     fn cause(&self) -> Option<&StdError> {
[INFO] [stderr]    |                                ^^^^^^^^ help: use `dyn`: `dyn StdError`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/markov.rs:64:35
[INFO] [stderr]    |
[INFO] [stderr] 64 |     pub fn start(&self, rng: &mut Rng) -> Option<&T> {
[INFO] [stderr]    |                                   ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/markov.rs:68:50
[INFO] [stderr]    |
[INFO] [stderr] 68 |     pub fn next<U>(&self, current: &U, rng: &mut Rng) -> Option<&T>
[INFO] [stderr]    |                                                  ^^^ help: use `dyn`: `dyn Rng`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/config.rs:29:1
[INFO] [stderr]    |
[INFO] [stderr] 29 | / lazy_static! {
[INFO] [stderr] 30 | |     static ref DEFAULT_CONFIG_PATH: PathBuf = {
[INFO] [stderr] 31 | |         let mut dir = match env::var_os("XDG_CONFIG_HOME") {
[INFO] [stderr] 32 | |             Some(dir) => PathBuf::from(dir),
[INFO] [stderr] ...  |
[INFO] [stderr] 42 | |     };
[INFO] [stderr] 43 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/error.rs:73:25
[INFO] [stderr]    |
[INFO] [stderr] 73 |         write!(f, "{}", StdError::description(self))
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::env::home_dir`: This function's behavior is unexpected and probably not what you want. Consider using a crate from crates.io instead.
[INFO] [stderr]   --> src/utils.rs:25:40
[INFO] [stderr]    |
[INFO] [stderr] 25 |     pub static ref HOME_DIR: PathBuf = env::home_dir().expect("Unable to get home directory");
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/utils.rs:24:1
[INFO] [stderr]    |
[INFO] [stderr] 24 | / lazy_static! {
[INFO] [stderr] 25 | |     pub static ref HOME_DIR: PathBuf = env::home_dir().expect("Unable to get home directory");
[INFO] [stderr] 26 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/error.rs:47:28
[INFO] [stderr]    |
[INFO] [stderr] 47 |             Io(ref e) => e.description(),
[INFO] [stderr]    |                            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/error.rs:48:34
[INFO] [stderr]    |
[INFO] [stderr] 48 |             IntParse(ref e) => e.description(),
[INFO] [stderr]    |                                  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/error.rs:49:30
[INFO] [stderr]    |
[INFO] [stderr] 49 |             Utf8(ref e) => e.description(),
[INFO] [stderr]    |                              ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/error.rs:50:32
[INFO] [stderr]    |
[INFO] [stderr] 50 |             TomlDe(ref e) => e.description(),
[INFO] [stderr]    |                                ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/error.rs:51:34
[INFO] [stderr]    |
[INFO] [stderr] 51 |             MpdParse(ref e) => e.description(),
[INFO] [stderr]    |                                  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/error.rs:52:34
[INFO] [stderr]    |
[INFO] [stderr] 52 |             MpdProto(ref e) => e.description(),
[INFO] [stderr]    |                                  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/error.rs:53:35
[INFO] [stderr]    |
[INFO] [stderr] 53 |             MpdServer(ref e) => e.description(),
[INFO] [stderr]    |                                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `random_key`
[INFO] [stderr]   --> src/choose.rs:29:8
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub fn random_key<'a, K: Eq + Hash, V>(map: &'a HashMap<K, V>, rng: &mut Rng) -> Option<&'a K> {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `roulette_wheel`
[INFO] [stderr]   --> src/choose.rs:34:8
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub fn roulette_wheel<'a, K: Eq + Hash>(map: &'a HashMap<K, f32>, rng: &mut Rng) -> Option<&'a K> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `modify_weight`
[INFO] [stderr]   --> src/markov.rs:47:12
[INFO] [stderr]    |
[INFO] [stderr] 47 |     pub fn modify_weight(&mut self, prev: T, next: T, diff: f32) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `clear`
[INFO] [stderr]   --> src/markov.rs:55:12
[INFO] [stderr]    |
[INFO] [stderr] 55 |     pub fn clear<U>(&mut self, item: &U)
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `start`
[INFO] [stderr]   --> src/markov.rs:64:12
[INFO] [stderr]    |
[INFO] [stderr] 64 |     pub fn start(&self, rng: &mut Rng) -> Option<&T> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `next`
[INFO] [stderr]   --> src/markov.rs:68:12
[INFO] [stderr]    |
[INFO] [stderr] 68 |     pub fn next<U>(&self, current: &U, rng: &mut Rng) -> Option<&T>
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `possible_next`
[INFO] [stderr]   --> src/markov.rs:78:12
[INFO] [stderr]    |
[INFO] [stderr] 78 |     pub fn possible_next<U>(&self, current: &U) -> Option<&HashMap<T, f32>>
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `split_cmd`
[INFO] [stderr]   --> src/socket.rs:28:4
[INFO] [stderr]    |
[INFO] [stderr] 28 | fn split_cmd(command: &mut str) -> (&mut str, &mut str) {
[INFO] [stderr]    |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `bind`
[INFO] [stderr]   --> src/socket.rs:41:12
[INFO] [stderr]    |
[INFO] [stderr] 41 |     pub fn bind(config: &DaemonConfig) -> Result<Self> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `wait`
[INFO] [stderr]   --> src/socket.rs:47:12
[INFO] [stderr]    |
[INFO] [stderr] 47 |     pub fn wait(&self) -> Result<()> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `respond`
[INFO] [stderr]   --> src/socket.rs:58:8
[INFO] [stderr]    |
[INFO] [stderr] 58 |     fn respond(&self, command: &mut str) -> Result<&'static str> {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `set_recommend`
[INFO] [stderr]   --> src/socket.rs:72:8
[INFO] [stderr]    |
[INFO] [stderr] 72 |     fn set_recommend(&self, arg: &mut str) -> &'static str {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `empty_mut_str`
[INFO] [stderr]   --> src/utils.rs:29:8
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub fn empty_mut_str() -> &'static mut str {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `sigmoid`
[INFO] [stderr]   --> src/utils.rs:34:8
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub fn sigmoid(n: f32) -> f32 {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 30 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/markov_music-26a73cff3b4126ad
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "56b21a2ca52253ba7c2fae8fd7bd94ec7d00af6e93bb0611b1288b0051161a5a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "56b21a2ca52253ba7c2fae8fd7bd94ec7d00af6e93bb0611b1288b0051161a5a", kill_on_drop: false }`
[INFO] [stdout] 56b21a2ca52253ba7c2fae8fd7bd94ec7d00af6e93bb0611b1288b0051161a5a
