[INFO] crate strange 0.9.0 is already in cache
[INFO] checking strange-0.9.0 against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] extracting crate strange 0.9.0 into /workspace/builds/worker-6/source
[INFO] validating manifest of crates.io crate strange 0.9.0 on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[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-6/source/Cargo.toml
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"`
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 02f1fc18103b42c93a62b33ae5624eeca85c2320654e7c2fb7abbe331be15d08
[INFO] running `"docker" "start" "-a" "02f1fc18103b42c93a62b33ae5624eeca85c2320654e7c2fb7abbe331be15d08"`
[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 rayon v0.8.2
[INFO] [stderr]     Checking serde_yaml v0.7.5
[INFO] [stderr]     Checking serde_json v1.0.51
[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 handlebars v0.29.1
[INFO] [stderr]     Checking tera v0.10.10
[INFO] [stderr]     Checking strange v0.9.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/main.rs:42:13
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stderr]    |             ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/main.rs:42:16
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stderr]    |                ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/main.rs:42:26
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stderr]    |                          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/main.rs:42:38
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stderr]    |                                      ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/main.rs:42:50
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stderr]    |                                                  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/main.rs:42:61
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stderr]    |                                                             ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/main.rs:42:72
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stderr]    |                                                                        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/models/file.rs:86:40
[INFO] [stderr]    |
[INFO] [stderr] 86 |     pub page: RwLock<BTreeMap<String, Box<PluginPageData + Send + Sync>>>,
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PluginPageData + Send + Sync`
[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/models/file.rs:431:51
[INFO] [stderr]     |
[INFO] [stderr] 431 |     pub fn add_page_data(&self, name: &str, val: Box<PluginPageData + Send + Sync>) {
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PluginPageData + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/plugin/mod.rs:51:20
[INFO] [stderr]    |
[INFO] [stderr] 51 | impl Serialize for PluginPageData + Send + Sync{
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PluginPageData + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/plugin/mod.rs:60:16
[INFO] [stderr]    |
[INFO] [stderr] 60 | impl Debug for PluginPageData + Send + Sync {
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PluginPageData + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/plugin/mod.rs:99:28
[INFO] [stderr]    |
[INFO] [stderr] 99 | pub struct Plugins(Vec<Box<Plugin + Send + Sync>>);
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Plugin + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/plugin/mod.rs:103:32
[INFO] [stderr]     |
[INFO] [stderr] 103 |         let mut plugin_list: Vec<Box<Plugin + Send + Sync>> = Vec::new();
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Plugin + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/main.rs:243:2
[INFO] [stderr]     |
[INFO] [stderr] 243 |     ;
[INFO] [stderr]     |     ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/main.rs:42:13
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stderr]    |             ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]   --> src/errors.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | / error_chain! {
[INFO] [stderr] 20 | |     errors {
[INFO] [stderr] 21 | |         Warning(msg: String) {
[INFO] [stderr] 22 | |             description("Warning")
[INFO] [stderr] ...  |
[INFO] [stderr] 65 | |     }
[INFO] [stderr] 66 | | }
[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: unused `#[macro_use]` import
[INFO] [stderr]   --> src/main.rs:42:16
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stderr]    |                ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/main.rs:42:26
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stderr]    |                          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/main.rs:42:38
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stderr]    |                                      ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/main.rs:42:50
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stderr]    |                                                  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/main.rs:42:61
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stderr]    |                                                             ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/main.rs:42:72
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
[INFO] [stderr]    |                                                                        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]   --> src/errors.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | / error_chain! {
[INFO] [stderr] 20 | |     errors {
[INFO] [stderr] 21 | |         Warning(msg: String) {
[INFO] [stderr] 22 | |             description("Warning")
[INFO] [stderr] ...  |
[INFO] [stderr] 65 | |     }
[INFO] [stderr] 66 | | }
[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: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/models/file.rs:86:40
[INFO] [stderr]    |
[INFO] [stderr] 86 |     pub page: RwLock<BTreeMap<String, Box<PluginPageData + Send + Sync>>>,
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PluginPageData + Send + Sync`
[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/models/file.rs:431:51
[INFO] [stderr]     |
[INFO] [stderr] 431 |     pub fn add_page_data(&self, name: &str, val: Box<PluginPageData + Send + Sync>) {
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PluginPageData + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/plugin/mod.rs:51:20
[INFO] [stderr]    |
[INFO] [stderr] 51 | impl Serialize for PluginPageData + Send + Sync{
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PluginPageData + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/plugin/mod.rs:60:16
[INFO] [stderr]    |
[INFO] [stderr] 60 | impl Debug for PluginPageData + Send + Sync {
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PluginPageData + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/plugin/mod.rs:99:28
[INFO] [stderr]    |
[INFO] [stderr] 99 | pub struct Plugins(Vec<Box<Plugin + Send + Sync>>);
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Plugin + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/plugin/mod.rs:103:32
[INFO] [stderr]     |
[INFO] [stderr] 103 |         let mut plugin_list: Vec<Box<Plugin + Send + Sync>> = Vec::new();
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Plugin + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/main.rs:243:2
[INFO] [stderr]     |
[INFO] [stderr] 243 |     ;
[INFO] [stderr]     |     ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]   --> src/errors.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | / error_chain! {
[INFO] [stderr] 20 | |     errors {
[INFO] [stderr] 21 | |         Warning(msg: String) {
[INFO] [stderr] 22 | |             description("Warning")
[INFO] [stderr] ...  |
[INFO] [stderr] 65 | |     }
[INFO] [stderr] 66 | | }
[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 item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]   --> src/errors.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | / error_chain! {
[INFO] [stderr] 20 | |     errors {
[INFO] [stderr] 21 | |         Warning(msg: String) {
[INFO] [stderr] 22 | |             description("Warning")
[INFO] [stderr] ...  |
[INFO] [stderr] 65 | |     }
[INFO] [stderr] 66 | | }
[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] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stderr]    --> src/models/directory.rs:177:19
[INFO] [stderr]     |
[INFO] [stderr] 59  |       pub fn scan_from<P>(p: P, config: &Config) -> Result<Directory>
[INFO] [stderr]     |  _____-
[INFO] [stderr] 60  | |         where P: AsRef<Path>
[INFO] [stderr] 61  | |     {
[INFO] [stderr] 62  | |         let p = p.as_ref();
[INFO] [stderr] ...   |
[INFO] [stderr] 75  | |         Ok(res)
[INFO] [stderr] 76  | |     }
[INFO] [stderr]     | |_____- defined here
[INFO] [stderr] ...
[INFO] [stderr] 177 |           let dir = Directory::scan_from("tests/fixtures").expect("Error scanning");
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^ ---------------- supplied 1 argument
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     expected 2 arguments
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/models/file.rs:544:7
[INFO] [stderr]     |
[INFO] [stderr] 544 |         let (name, types) = File::detect_extensions(Path::new("file.md"));
[INFO] [stderr]     |             ^^^^^^^^^^^^^   --------------------------------------------- this expression has type `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]     |             |
[INFO] [stderr]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected tuple `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]                found tuple `(_, _)`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/models/file.rs:548:7
[INFO] [stderr]     |
[INFO] [stderr] 548 |         let (name, types) = File::detect_extensions(Path::new("file.md.tera"));
[INFO] [stderr]     |             ^^^^^^^^^^^^^   -------------------------------------------------- this expression has type `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]     |             |
[INFO] [stderr]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected tuple `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]                found tuple `(_, _)`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/models/file.rs:552:7
[INFO] [stderr]     |
[INFO] [stderr] 552 |         let (name, types) = File::detect_extensions(Path::new("file.tera.md"));
[INFO] [stderr]     |             ^^^^^^^^^^^^^   -------------------------------------------------- this expression has type `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]     |             |
[INFO] [stderr]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected tuple `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]                found tuple `(_, _)`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/models/file.rs:556:7
[INFO] [stderr]     |
[INFO] [stderr] 556 |         let (name, types) = File::detect_extensions(Path::new("file.md.twig"));
[INFO] [stderr]     |             ^^^^^^^^^^^^^   -------------------------------------------------- this expression has type `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]     |             |
[INFO] [stderr]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected tuple `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]                found tuple `(_, _)`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/models/file.rs:560:7
[INFO] [stderr]     |
[INFO] [stderr] 560 |         let (name, types) = File::detect_extensions(Path::new("file.md.j2"));
[INFO] [stderr]     |             ^^^^^^^^^^^^^   ------------------------------------------------ this expression has type `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]     |             |
[INFO] [stderr]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected tuple `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]                found tuple `(_, _)`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/models/file.rs:564:7
[INFO] [stderr]     |
[INFO] [stderr] 564 |         let (name, types) = File::detect_extensions(Path::new("file.md.jinja2"));
[INFO] [stderr]     |             ^^^^^^^^^^^^^   ---------------------------------------------------- this expression has type `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]     |             |
[INFO] [stderr]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected tuple `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]                found tuple `(_, _)`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/models/file.rs:568:7
[INFO] [stderr]     |
[INFO] [stderr] 568 |         let (name, types) = File::detect_extensions(Path::new("file.md.hbs"));
[INFO] [stderr]     |             ^^^^^^^^^^^^^   ------------------------------------------------- this expression has type `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]     |             |
[INFO] [stderr]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected tuple `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]                found tuple `(_, _)`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/models/file.rs:572:7
[INFO] [stderr]     |
[INFO] [stderr] 572 |         let (name, types) = File::detect_extensions(Path::new("file.hbs"));
[INFO] [stderr]     |             ^^^^^^^^^^^^^   ---------------------------------------------- this expression has type `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]     |             |
[INFO] [stderr]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected tuple `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]                found tuple `(_, _)`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/models/file.rs:576:7
[INFO] [stderr]     |
[INFO] [stderr] 576 |         let (name, types) = File::detect_extensions(Path::new("file.html"));
[INFO] [stderr]     |             ^^^^^^^^^^^^^   ----------------------------------------------- this expression has type `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]     |             |
[INFO] [stderr]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected tuple `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]                found tuple `(_, _)`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/models/file.rs:580:7
[INFO] [stderr]     |
[INFO] [stderr] 580 |         let (name, types) = File::detect_extensions(Path::new("file.md.html"));
[INFO] [stderr]     |             ^^^^^^^^^^^^^   -------------------------------------------------- this expression has type `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]     |             |
[INFO] [stderr]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected tuple `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]                found tuple `(_, _)`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/models/file.rs:584:7
[INFO] [stderr]     |
[INFO] [stderr] 584 |         let (name, types) = File::detect_extensions(Path::new("file.tera.html"));
[INFO] [stderr]     |             ^^^^^^^^^^^^^   ---------------------------------------------------- this expression has type `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]     |             |
[INFO] [stderr]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected tuple `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]                found tuple `(_, _)`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/models/file.rs:588:7
[INFO] [stderr]     |
[INFO] [stderr] 588 |         let (name, types) = File::detect_extensions(Path::new("file.twig.html"));
[INFO] [stderr]     |             ^^^^^^^^^^^^^   ---------------------------------------------------- this expression has type `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]     |             |
[INFO] [stderr]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected tuple `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]                found tuple `(_, _)`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/models/file.rs:592:7
[INFO] [stderr]     |
[INFO] [stderr] 592 |         let (name, types) = File::detect_extensions(Path::new("file"));
[INFO] [stderr]     |             ^^^^^^^^^^^^^   ------------------------------------------ this expression has type `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]     |             |
[INFO] [stderr]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected tuple `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]                found tuple `(_, _)`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/models/file.rs:596:7
[INFO] [stderr]     |
[INFO] [stderr] 596 |         let (name, types) = File::detect_extensions(Path::new("tera"));
[INFO] [stderr]     |             ^^^^^^^^^^^^^   ------------------------------------------ this expression has type `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]     |             |
[INFO] [stderr]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected tuple `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]                found tuple `(_, _)`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/models/file.rs:600:7
[INFO] [stderr]     |
[INFO] [stderr] 600 |         let (name, types) = File::detect_extensions(Path::new("twig"));
[INFO] [stderr]     |             ^^^^^^^^^^^^^   ------------------------------------------ this expression has type `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]     |             |
[INFO] [stderr]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected tuple `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]                found tuple `(_, _)`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/models/file.rs:604:7
[INFO] [stderr]     |
[INFO] [stderr] 604 |         let (name, types) = File::detect_extensions(Path::new("hbs"));
[INFO] [stderr]     |             ^^^^^^^^^^^^^   ----------------------------------------- this expression has type `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]     |             |
[INFO] [stderr]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected tuple `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]                found tuple `(_, _)`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/models/file.rs:608:7
[INFO] [stderr]     |
[INFO] [stderr] 608 |         let (name, types) = File::detect_extensions(Path::new("md"));
[INFO] [stderr]     |             ^^^^^^^^^^^^^   ---------------------------------------- this expression has type `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]     |             |
[INFO] [stderr]     |             expected a tuple with 3 elements, found one with 2 elements
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected tuple `(std::string::String, std::vec::Vec<tpl::EngineType>, std::string::String)`
[INFO] [stderr]                found tuple `(_, _)`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'core::str::<impl str>::trim_right': superseded by `trim_end`
[INFO] [stderr]    --> src/tpl/engine_tera.rs:245:24
[INFO] [stderr]     |
[INFO] [stderr] 245 |                     format!("{}\n", l.trim_right())
[INFO] [stderr]     |                                       ^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'core::str::<impl str>::trim_right': superseded by `trim_end`
[INFO] [stderr]    --> src/tpl/engine_tera.rs:247:35
[INFO] [stderr]     |
[INFO] [stderr] 247 |                     format!("{}{}\n", &indent, l.trim_right())
[INFO] [stderr]     |                                                  ^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'core::str::<impl str>::trim_right_matches': superseded by `trim_end_matches`
[INFO] [stderr]    --> src/tpl/engine_tera.rs:251:5
[INFO] [stderr]     |
[INFO] [stderr] 251 |             .trim_right_matches("\n")
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'core::str::<impl str>::trim_left_matches': superseded by `trim_start_matches`
[INFO] [stderr]    --> src/tpl/engine_tera.rs:272:48
[INFO] [stderr]     |
[INFO] [stderr] 272 |     Ok(Value::String(value.as_str().unwrap_or("").trim_left_matches(&trim_chars[..]).into()))
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'core::str::<impl str>::trim_right_matches': superseded by `trim_end_matches`
[INFO] [stderr]    --> src/tpl/engine_tera.rs:277:48
[INFO] [stderr]     |
[INFO] [stderr] 277 |     Ok(Value::String(value.as_str().unwrap_or("").trim_right_matches(&trim_chars[..]).into()))
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting
[INFO] [stderr]   --> src/errors.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | / error_chain! {
[INFO] [stderr] 20 | |     errors {
[INFO] [stderr] 21 | |         Warning(msg: String) {
[INFO] [stderr] 22 | |             description("Warning")
[INFO] [stderr] ...  |
[INFO] [stderr] 65 | |     }
[INFO] [stderr] 66 | | }
[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] error: aborting due to 18 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0061, E0308.
[INFO] [stderr] For more information about an error, try `rustc --explain E0061`.
[INFO] [stderr] error: could not compile `strange`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] warning: use of deprecated item 'core::str::<impl str>::trim_right': superseded by `trim_end`
[INFO] [stderr]    --> src/tpl/engine_tera.rs:245:24
[INFO] [stderr]     |
[INFO] [stderr] 245 |                     format!("{}\n", l.trim_right())
[INFO] [stderr]     |                                       ^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'core::str::<impl str>::trim_right': superseded by `trim_end`
[INFO] [stderr]    --> src/tpl/engine_tera.rs:247:35
[INFO] [stderr]     |
[INFO] [stderr] 247 |                     format!("{}{}\n", &indent, l.trim_right())
[INFO] [stderr]     |                                                  ^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'core::str::<impl str>::trim_right_matches': superseded by `trim_end_matches`
[INFO] [stderr]    --> src/tpl/engine_tera.rs:251:5
[INFO] [stderr]     |
[INFO] [stderr] 251 |             .trim_right_matches("\n")
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'core::str::<impl str>::trim_left_matches': superseded by `trim_start_matches`
[INFO] [stderr]    --> src/tpl/engine_tera.rs:272:48
[INFO] [stderr]     |
[INFO] [stderr] 272 |     Ok(Value::String(value.as_str().unwrap_or("").trim_left_matches(&trim_chars[..]).into()))
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'core::str::<impl str>::trim_right_matches': superseded by `trim_end_matches`
[INFO] [stderr]    --> src/tpl/engine_tera.rs:277:48
[INFO] [stderr]     |
[INFO] [stderr] 277 |     Ok(Value::String(value.as_str().unwrap_or("").trim_right_matches(&trim_chars[..]).into()))
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting
[INFO] [stderr]   --> src/errors.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | / error_chain! {
[INFO] [stderr] 20 | |     errors {
[INFO] [stderr] 21 | |         Warning(msg: String) {
[INFO] [stderr] 22 | |             description("Warning")
[INFO] [stderr] ...  |
[INFO] [stderr] 65 | |     }
[INFO] [stderr] 66 | | }
[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] error: lifetime may not live long enough
[INFO] [stderr]   --> src/cmd/serve.rs:56:28
[INFO] [stderr]    |
[INFO] [stderr] 56 |             .bind(&address, move || Ok(FileServer { path: &serve_path }))
[INFO] [stderr]    |                             ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2`
[INFO] [stderr]    |                             |     |
[INFO] [stderr]    |                             |     return type of closure is std::result::Result<cmd::serve::FileServer<'2>, std::io::Error>
[INFO] [stderr]    |                             lifetime `'1` represents this closure's body
[INFO] [stderr]    |
[INFO] [stderr]    = note: closure implements `Fn`, so references to captured variables can't escape the closure
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to previous error
[INFO] [stderr] 
[INFO] [stderr] error: could not compile `strange`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "02f1fc18103b42c93a62b33ae5624eeca85c2320654e7c2fb7abbe331be15d08"`
[INFO] running `"docker" "rm" "-f" "02f1fc18103b42c93a62b33ae5624eeca85c2320654e7c2fb7abbe331be15d08"`
[INFO] [stdout] 02f1fc18103b42c93a62b33ae5624eeca85c2320654e7c2fb7abbe331be15d08
