[INFO] fetching crate strange 0.9.0...
[INFO] checking strange-0.9.0 against beta-2021-10-15 for beta-1.56-3
[INFO] extracting crate strange 0.9.0 into /workspace/builds/worker-8/source
[INFO] validating manifest of crates.io crate strange 0.9.0 on toolchain beta-2021-10-15
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate strange 0.9.0
[INFO] finished tweaking crates.io crate strange 0.9.0
[INFO] tweaked toml for crates.io crate strange 0.9.0 written to /workspace/builds/worker-8/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "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-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d638975c7f3a171dff0dd7b88b64a4845b1434fca524aec65c068e1b16c61878
[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" "d638975c7f3a171dff0dd7b88b64a4845b1434fca524aec65c068e1b16c61878", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d638975c7f3a171dff0dd7b88b64a4845b1434fca524aec65c068e1b16c61878", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d638975c7f3a171dff0dd7b88b64a4845b1434fca524aec65c068e1b16c61878", kill_on_drop: false }`
[INFO] [stdout] d638975c7f3a171dff0dd7b88b64a4845b1434fca524aec65c068e1b16c61878
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 272be2b60e4368c8c28fab12694179b30aac5627842ea389bc3e3b540b6f6056
[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" "272be2b60e4368c8c28fab12694179b30aac5627842ea389bc3e3b540b6f6056", kill_on_drop: false }`
[INFO] [stderr]     Checking slog v1.7.1
[INFO] [stderr]    Compiling pulldown-cmark v0.1.2
[INFO] [stderr]     Checking pest v0.4.1
[INFO] [stderr]     Checking term v0.4.6
[INFO] [stderr]     Checking isatty v0.1.9
[INFO] [stderr]     Checking serde_yaml v0.7.5
[INFO] [stderr]     Checking serde_json v1.0.68
[INFO] [stderr]     Checking error-chain v0.10.0
[INFO] [stderr]     Checking num v0.1.42
[INFO] [stderr]     Checking rayon v0.8.2
[INFO] [stderr]     Checking chrono v0.2.25
[INFO] [stderr]     Checking slog-extra v0.1.2
[INFO] [stderr]     Checking slog-scope v0.2.2
[INFO] [stderr]     Checking slog-stream v1.2.1
[INFO] [stderr]     Checking slog-term v1.5.0
[INFO] [stderr]     Checking tera v0.10.10
[INFO] [stderr]     Checking handlebars v0.29.1
[INFO] [stderr]     Checking strange v0.9.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/main.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/main.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/main.rs:42:26
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/main.rs:42:38
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/main.rs:42:50
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stdout]    |                                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/main.rs:42:61
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stdout]    |                                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/main.rs:42:72
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stdout]    |                                                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/main.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/main.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/main.rs:42:26
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/main.rs:42:38
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/main.rs:42:50
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stdout]    |                                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/main.rs:42:61
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stdout]    |                                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/main.rs:42:72
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stdout]    |                                                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/models/file.rs:86:40
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub page: RwLock<BTreeMap<String, Box<PluginPageData + Send + Sync>>>,
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PluginPageData + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/models/file.rs:86:40
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub page: RwLock<BTreeMap<String, Box<PluginPageData + Send + Sync>>>,
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PluginPageData + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/models/file.rs:431:51
[INFO] [stdout]     |
[INFO] [stdout] 431 |     pub fn add_page_data(&self, name: &str, val: Box<PluginPageData + Send + Sync>) {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PluginPageData + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/models/file.rs:431:51
[INFO] [stdout]     |
[INFO] [stdout] 431 |     pub fn add_page_data(&self, name: &str, val: Box<PluginPageData + Send + Sync>) {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PluginPageData + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/plugin/mod.rs:51:20
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl Serialize for PluginPageData + Send + Sync{
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PluginPageData + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/plugin/mod.rs:60:16
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl Debug for PluginPageData + Send + Sync {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PluginPageData + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/plugin/mod.rs:51:20
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl Serialize for PluginPageData + Send + Sync{
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PluginPageData + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/plugin/mod.rs:60:16
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl Debug for PluginPageData + Send + Sync {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PluginPageData + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/plugin/mod.rs:99:28
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct Plugins(Vec<Box<Plugin + Send + Sync>>);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Plugin + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/plugin/mod.rs:103:32
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let mut plugin_list: Vec<Box<Plugin + Send + Sync>> = Vec::new();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Plugin + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/plugin/mod.rs:99:28
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct Plugins(Vec<Box<Plugin + Send + Sync>>);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Plugin + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/plugin/mod.rs:103:32
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let mut plugin_list: Vec<Box<Plugin + Send + Sync>> = Vec::new();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Plugin + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/main.rs:243:2
[INFO] [stdout]     |
[INFO] [stdout] 243 |     ;
[INFO] [stdout]     |     ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/main.rs:243:2
[INFO] [stdout]     |
[INFO] [stdout] 243 |     ;
[INFO] [stdout]     |     ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[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/errors.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / error_chain! {
[INFO] [stdout] 20 | |     errors {
[INFO] [stdout] 21 | |         Warning(msg: String) {
[INFO] [stdout] 22 | |             description("Warning")
[INFO] [stdout] ...  |
[INFO] [stdout] 65 | |     }
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_error_chain_processed` (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/errors.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / error_chain! {
[INFO] [stdout] 20 | |     errors {
[INFO] [stdout] 21 | |         Warning(msg: String) {
[INFO] [stdout] 22 | |             description("Warning")
[INFO] [stdout] ...  |
[INFO] [stdout] 65 | |     }
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_error_chain_processed` (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/errors.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / error_chain! {
[INFO] [stdout] 20 | |     errors {
[INFO] [stdout] 21 | |         Warning(msg: String) {
[INFO] [stdout] 22 | |             description("Warning")
[INFO] [stdout] ...  |
[INFO] [stdout] 65 | |     }
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_error_chain_processed` (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/errors.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / error_chain! {
[INFO] [stdout] 20 | |     errors {
[INFO] [stdout] 21 | |         Warning(msg: String) {
[INFO] [stdout] 22 | |             description("Warning")
[INFO] [stdout] ...  |
[INFO] [stdout] 65 | |     }
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]    --> src/tpl/engine_tera.rs:245:24
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     format!("{}\n", l.trim_right())
[INFO] [stdout]     |                                       ^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]    --> src/tpl/engine_tera.rs:247:35
[INFO] [stdout]     |
[INFO] [stdout] 247 |                     format!("{}{}\n", &indent, l.trim_right())
[INFO] [stdout]     |                                                  ^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]    --> src/tpl/engine_tera.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 251 |             .trim_right_matches("\n")
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]    --> src/tpl/engine_tera.rs:272:48
[INFO] [stdout]     |
[INFO] [stdout] 272 |     Ok(Value::String(value.as_str().unwrap_or("").trim_left_matches(&trim_chars[..]).into()))
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]    --> src/tpl/engine_tera.rs:277:48
[INFO] [stdout]     |
[INFO] [stdout] 277 |     Ok(Value::String(value.as_str().unwrap_or("").trim_right_matches(&trim_chars[..]).into()))
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]    --> src/tpl/engine_tera.rs:245:24
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     format!("{}\n", l.trim_right())
[INFO] [stdout]     |                                       ^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]    --> src/tpl/engine_tera.rs:247:35
[INFO] [stdout]     |
[INFO] [stdout] 247 |                     format!("{}{}\n", &indent, l.trim_right())
[INFO] [stdout]     |                                                  ^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]    --> src/tpl/engine_tera.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 251 |             .trim_right_matches("\n")
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]    --> src/tpl/engine_tera.rs:272:48
[INFO] [stdout]     |
[INFO] [stdout] 272 |     Ok(Value::String(value.as_str().unwrap_or("").trim_left_matches(&trim_chars[..]).into()))
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]    --> src/tpl/engine_tera.rs:277:48
[INFO] [stdout]     |
[INFO] [stdout] 277 |     Ok(Value::String(value.as_str().unwrap_or("").trim_right_matches(&trim_chars[..]).into()))
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/errors.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / error_chain! {
[INFO] [stdout] 20 | |     errors {
[INFO] [stdout] 21 | |         Warning(msg: String) {
[INFO] [stdout] 22 | |             description("Warning")
[INFO] [stdout] ...  |
[INFO] [stdout] 65 | |     }
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/models/directory.rs:177:19
[INFO] [stdout]     |
[INFO] [stdout] 177 |         let dir = Directory::scan_from("tests/fixtures").expect("Error scanning");
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^ ---------------- supplied 1 argument
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   expected 2 arguments
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/models/directory.rs:59:9
[INFO] [stdout]     |
[INFO] [stdout] 59  |     pub fn scan_from<P>(p: P, config: &Config) -> Result<Directory>
[INFO] [stdout]     |            ^^^^^^^^^    ----  ---------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/models/file.rs:544:7
[INFO] [stdout]     |
[INFO] [stdout] 544 |         let (name, types) = File::detect_extensions(Path::new("file.md"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^   --------------------------------------------- this expression has type `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/models/file.rs:548:7
[INFO] [stdout]     |
[INFO] [stdout] 548 |         let (name, types) = File::detect_extensions(Path::new("file.md.tera"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^   -------------------------------------------------- this expression has type `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/models/file.rs:552:7
[INFO] [stdout]     |
[INFO] [stdout] 552 |         let (name, types) = File::detect_extensions(Path::new("file.tera.md"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^   -------------------------------------------------- this expression has type `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/models/file.rs:556:7
[INFO] [stdout]     |
[INFO] [stdout] 556 |         let (name, types) = File::detect_extensions(Path::new("file.md.twig"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^   -------------------------------------------------- this expression has type `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/models/file.rs:560:7
[INFO] [stdout]     |
[INFO] [stdout] 560 |         let (name, types) = File::detect_extensions(Path::new("file.md.j2"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^   ------------------------------------------------ this expression has type `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/models/file.rs:564:7
[INFO] [stdout]     |
[INFO] [stdout] 564 |         let (name, types) = File::detect_extensions(Path::new("file.md.jinja2"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^   ---------------------------------------------------- this expression has type `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/models/file.rs:568:7
[INFO] [stdout]     |
[INFO] [stdout] 568 |         let (name, types) = File::detect_extensions(Path::new("file.md.hbs"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^   ------------------------------------------------- this expression has type `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/models/file.rs:572:7
[INFO] [stdout]     |
[INFO] [stdout] 572 |         let (name, types) = File::detect_extensions(Path::new("file.hbs"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^   ---------------------------------------------- this expression has type `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/models/file.rs:576:7
[INFO] [stdout]     |
[INFO] [stdout] 576 |         let (name, types) = File::detect_extensions(Path::new("file.html"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^   ----------------------------------------------- this expression has type `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/models/file.rs:580:7
[INFO] [stdout]     |
[INFO] [stdout] 580 |         let (name, types) = File::detect_extensions(Path::new("file.md.html"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^   -------------------------------------------------- this expression has type `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/models/file.rs:584:7
[INFO] [stdout]     |
[INFO] [stdout] 584 |         let (name, types) = File::detect_extensions(Path::new("file.tera.html"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^   ---------------------------------------------------- this expression has type `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/models/file.rs:588:7
[INFO] [stdout]     |
[INFO] [stdout] 588 |         let (name, types) = File::detect_extensions(Path::new("file.twig.html"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^   ---------------------------------------------------- this expression has type `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/models/file.rs:592:7
[INFO] [stdout]     |
[INFO] [stdout] 592 |         let (name, types) = File::detect_extensions(Path::new("file"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^   ------------------------------------------ this expression has type `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/models/file.rs:596:7
[INFO] [stdout]     |
[INFO] [stdout] 596 |         let (name, types) = File::detect_extensions(Path::new("tera"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^   ------------------------------------------ this expression has type `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/models/file.rs:600:7
[INFO] [stdout]     |
[INFO] [stdout] 600 |         let (name, types) = File::detect_extensions(Path::new("twig"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^   ------------------------------------------ this expression has type `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/models/file.rs:604:7
[INFO] [stdout]     |
[INFO] [stdout] 604 |         let (name, types) = File::detect_extensions(Path::new("hbs"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^   ----------------------------------------- this expression has type `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/models/file.rs:608:7
[INFO] [stdout]     |
[INFO] [stdout] 608 |         let (name, types) = File::detect_extensions(Path::new("md"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^   ---------------------------------------- this expression has type `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(std::string::String, Vec<tpl::EngineType>, std::string::String)`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/errors.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / error_chain! {
[INFO] [stdout] 20 | |     errors {
[INFO] [stdout] 21 | |         Warning(msg: String) {
[INFO] [stdout] 22 | |             description("Warning")
[INFO] [stdout] ...  |
[INFO] [stdout] 65 | |     }
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]   --> src/cmd/serve.rs:56:28
[INFO] [stdout]    |
[INFO] [stdout] 56 |             .bind(&address, move || Ok(FileServer { path: &serve_path }))
[INFO] [stdout]    |                             ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2`
[INFO] [stdout]    |                             |     |
[INFO] [stdout]    |                             |     return type of closure is std::result::Result<FileServer<'2>, std::io::Error>
[INFO] [stdout]    |                             lifetime `'1` represents this closure's body
[INFO] [stdout]    |
[INFO] [stdout]    = note: closure implements `Fn`, so references to captured variables can't escape the closure
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 18 previous errors; 22 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `strange` due to 19 previous errors; 22 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to previous error; 22 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "272be2b60e4368c8c28fab12694179b30aac5627842ea389bc3e3b540b6f6056", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "272be2b60e4368c8c28fab12694179b30aac5627842ea389bc3e3b540b6f6056", kill_on_drop: false }`
[INFO] [stdout] 272be2b60e4368c8c28fab12694179b30aac5627842ea389bc3e3b540b6f6056
