[INFO] updating cached repository https://github.com/haptics-nri/bible-extractor
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] c3d9b6a1f03c8a9148682168864c460cb21c2f77
[INFO] checking haptics-nri/bible-extractor against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhaptics-nri%2Fbible-extractor" "/workspace/builds/worker-2/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/haptics-nri/bible-extractor on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/haptics-nri/bible-extractor
[INFO] finished tweaking git repo https://github.com/haptics-nri/bible-extractor
[INFO] tweaked toml for git repo https://github.com/haptics-nri/bible-extractor written to /workspace/builds/worker-2/source/Cargo.toml
[INFO] crate git repo https://github.com/haptics-nri/bible-extractor already has a lockfile, it will not be regenerated
[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-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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] 2484d29a8649385079ef49acc61869aede41215bf9cab4c187df2b6ea28a0f36
[INFO] running `"docker" "start" "-a" "2484d29a8649385079ef49acc61869aede41215bf9cab4c187df2b6ea28a0f36"`
[INFO] [stderr]     Checking libc v0.2.30
[INFO] [stderr]    Compiling gcc v0.3.53
[INFO] [stderr]     Checking rustc-demangle v0.1.5
[INFO] [stderr]     Checking fnv v1.0.5
[INFO] [stderr]     Checking same-file v0.1.3
[INFO] [stderr]     Checking crossbeam v0.2.10
[INFO] [stderr]     Checking itoa v0.3.3
[INFO] [stderr]     Checking either v1.1.0
[INFO] [stderr]     Checking if_chain v0.1.2
[INFO] [stderr]     Checking closet v0.2.2
[INFO] [stderr]     Checking itertools v0.6.2
[INFO] [stderr]     Checking thread_local v0.3.4
[INFO] [stderr]     Checking walkdir v1.0.7
[INFO] [stderr]    Compiling serde_derive v1.0.11
[INFO] [stderr]     Checking serde_json v1.0.2
[INFO] [stderr]     Checking memchr v1.0.1
[INFO] [stderr]     Checking term_size v0.3.0
[INFO] [stderr]     Checking atty v0.2.2
[INFO] [stderr]     Checking num_cpus v1.6.2
[INFO] [stderr]     Checking textwrap v0.7.0
[INFO] [stderr]     Checking aho-corasick v0.6.3
[INFO] [stderr]     Checking clap v2.26.0
[INFO] [stderr]    Compiling backtrace-sys v0.1.12
[INFO] [stderr]     Checking regex v0.2.2
[INFO] [stderr]     Checking globset v0.2.0 (git://github.com/haptics-nri/ripgrep?branch=group-defaults#5cb1600a)
[INFO] [stderr]     Checking ignore v0.2.2 (git://github.com/haptics-nri/ripgrep?branch=group-defaults#5cb1600a)
[INFO] [stderr]     Checking backtrace v0.3.2
[INFO] [stderr]     Checking error-chain v0.11.0-rc.2
[INFO] [stderr]     Checking extract v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] error: found removed `do catch` syntax
[INFO] [stderr]    --> src/main.rs:149:18
[INFO] [stderr]     |
[INFO] [stderr] 149 |     let result = do catch {
[INFO] [stderr]     |                  ^^^^^^^^ help: replace with the new syntax: `try`
[INFO] [stderr]     |
[INFO] [stderr]     = note: following RFC #2388, the new non-placeholder syntax is `try`
[INFO] [stderr] 
[INFO] [stderr] error: found removed `do catch` syntax
[INFO] [stderr]    --> src/main.rs:149:18
[INFO] [stderr]     |
[INFO] [stderr] 149 |     let result = do catch {
[INFO] [stderr]     |                  ^^^^^^^^ help: replace with the new syntax: `try`
[INFO] [stderr]     |
[INFO] [stderr]     = note: following RFC #2388, the new non-placeholder syntax is `try`
[INFO] [stderr] 
[INFO] [stderr] error: found removed `do catch` syntax
[INFO] [stderr]    --> src/main.rs:109:48
[INFO] [stderr]     |
[INFO] [stderr] 109 | ...                   match (do catch {
[INFO] [stderr]     |                              ^^^^^^^^ help: replace with the new syntax: `try`
[INFO] [stderr]     |
[INFO] [stderr]     = note: following RFC #2388, the new non-placeholder syntax is `try`
[INFO] [stderr] 
[INFO] [stderr] error: found removed `do catch` syntax
[INFO] [stderr]    --> src/main.rs:109:48
[INFO] [stderr]     |
[INFO] [stderr] 109 | ...                   match (do catch {
[INFO] [stderr]     |                              ^^^^^^^^ help: replace with the new syntax: `try`
[INFO] [stderr]     |
[INFO] [stderr]     = note: following RFC #2388, the new non-placeholder syntax is `try`
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: `try` expression is experimental
[INFO] [stderr]    --> src/main.rs:109:48
[INFO] [stderr]     |
[INFO] [stderr] 109 |   ...                   match (do catch {
[INFO] [stderr]     |  ______________________________^
[INFO] [stderr] 110 | | ...                       let dirent = dirent?;
[INFO] [stderr] 111 | | ...                       if dirent.metadata()?.is_dir() {
[INFO] [stderr] 112 | | ...                           if dirent.path() == Path::new(DATADIR) {
[INFO] [stderr] ...   |
[INFO] [stderr] 130 | | ...                       }
[INFO] [stderr] 131 | | ...                   }) {
[INFO] [stderr]     | |_______________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: see issue #31436 <https://github.com/rust-lang/rust/issues/31436> for more information
[INFO] [stderr]     = help: add `#![feature(try_blocks)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: `try` expression is experimental
[INFO] [stderr]    --> src/main.rs:149:18
[INFO] [stderr]     |
[INFO] [stderr] 149 |       let result = do catch {
[INFO] [stderr]     |  __________________^
[INFO] [stderr] 150 | |         println!("Extracting {}", imgid);
[INFO] [stderr] 151 | |         let mut out: Box<Write> = if let Some(path) = path {
[INFO] [stderr] 152 | |             Box::new(File::create(path).chain_kind(imgid, ErrorKind::Bad)?)
[INFO] [stderr] ...   |
[INFO] [stderr] 284 | |         Ok(())
[INFO] [stderr] 285 | |     };
[INFO] [stderr]     | |_____^
[INFO] [stderr]     |
[INFO] [stderr]     = note: see issue #31436 <https://github.com/rust-lang/rust/issues/31436> for more information
[INFO] [stderr]     = help: add `#![feature(try_blocks)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: `try` expression is experimental
[INFO] [stderr]    --> src/main.rs:109:48
[INFO] [stderr]     |
[INFO] [stderr] 109 |   ...                   match (do catch {
[INFO] [stderr]     |  ______________________________^
[INFO] [stderr] 110 | | ...                       let dirent = dirent?;
[INFO] [stderr] 111 | | ...                       if dirent.metadata()?.is_dir() {
[INFO] [stderr] 112 | | ...                           if dirent.path() == Path::new(DATADIR) {
[INFO] [stderr] ...   |
[INFO] [stderr] 130 | | ...                       }
[INFO] [stderr] 131 | | ...                   }) {
[INFO] [stderr]     | |_______________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: see issue #31436 <https://github.com/rust-lang/rust/issues/31436> for more information
[INFO] [stderr]     = help: add `#![feature(try_blocks)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: `try` expression is experimental
[INFO] [stderr]    --> src/main.rs:149:18
[INFO] [stderr]     |
[INFO] [stderr] 149 |       let result = do catch {
[INFO] [stderr]     |  __________________^
[INFO] [stderr] 150 | |         println!("Extracting {}", imgid);
[INFO] [stderr] 151 | |         let mut out: Box<Write> = if let Some(path) = path {
[INFO] [stderr] 152 | |             Box::new(File::create(path).chain_kind(imgid, ErrorKind::Bad)?)
[INFO] [stderr] ...   |
[INFO] [stderr] 284 | |         Ok(())
[INFO] [stderr] 285 | |     };
[INFO] [stderr]     | |_____^
[INFO] [stderr]     |
[INFO] [stderr]     = note: see issue #31436 <https://github.com/rust-lang/rust/issues/31436> for more information
[INFO] [stderr]     = help: add `#![feature(try_blocks)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stderr]   --> src/main.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | use std::ascii::AsciiExt;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/main.rs:151:26
[INFO] [stderr]     |
[INFO] [stderr] 151 |         let mut out: Box<Write> = if let Some(path) = path {
[INFO] [stderr]     |                          ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stderr]   --> src/main.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | use std::ascii::AsciiExt;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/main.rs:151:26
[INFO] [stderr]     |
[INFO] [stderr] 151 |         let mut out: Box<Write> = if let Some(path) = path {
[INFO] [stderr]     |                          ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead
[INFO] [stderr]   --> src/main.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | use std::ascii::AsciiExt;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]    --> src/main.rs:233:13
[INFO] [stderr]     |
[INFO] [stderr] 233 | /             lazy_static! {
[INFO] [stderr] 234 | |                 static ref WORDS: Vec<String> = {
[INFO] [stderr] 235 | |                     let words_file = BufReader::new(File::open("/usr/share/dict/words").unwrap());
[INFO] [stderr] 236 | |                     let mut words = words_file.lines()
[INFO] [stderr] ...   |
[INFO] [stderr] 245 | |                 };
[INFO] [stderr] 246 | |             }
[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 item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]    --> src/main.rs:233:13
[INFO] [stderr]     |
[INFO] [stderr] 233 | /             lazy_static! {
[INFO] [stderr] 234 | |                 static ref WORDS: Vec<String> = {
[INFO] [stderr] 235 | |                     let words_file = BufReader::new(File::open("/usr/share/dict/words").unwrap());
[INFO] [stderr] 236 | |                     let mut words = words_file.lines()
[INFO] [stderr] ...   |
[INFO] [stderr] 245 | |                 };
[INFO] [stderr] 246 | |             }
[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 item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]   --> src/main.rs:31:1
[INFO] [stderr]    |
[INFO] [stderr] 31 | / error_chain! {
[INFO] [stderr] 32 | |     errors {
[INFO] [stderr] 33 | |         Many(errors: Vec<Box<Error>>) {
[INFO] [stderr] 34 | |             description("some errors occurred")
[INFO] [stderr] ...  |
[INFO] [stderr] 48 | |     }
[INFO] [stderr] 49 | | }
[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 item 'std::ascii::AsciiExt': use inherent methods instead
[INFO] [stderr]   --> src/main.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | use std::ascii::AsciiExt;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]    --> src/main.rs:233:13
[INFO] [stderr]     |
[INFO] [stderr] 233 | /             lazy_static! {
[INFO] [stderr] 234 | |                 static ref WORDS: Vec<String> = {
[INFO] [stderr] 235 | |                     let words_file = BufReader::new(File::open("/usr/share/dict/words").unwrap());
[INFO] [stderr] 236 | |                     let mut words = words_file.lines()
[INFO] [stderr] ...   |
[INFO] [stderr] 245 | |                 };
[INFO] [stderr] 246 | |             }
[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 item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]    --> src/main.rs:233:13
[INFO] [stderr]     |
[INFO] [stderr] 233 | /             lazy_static! {
[INFO] [stderr] 234 | |                 static ref WORDS: Vec<String> = {
[INFO] [stderr] 235 | |                     let words_file = BufReader::new(File::open("/usr/share/dict/words").unwrap());
[INFO] [stderr] 236 | |                     let mut words = words_file.lines()
[INFO] [stderr] ...   |
[INFO] [stderr] 245 | |                 };
[INFO] [stderr] 246 | |             }
[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 item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]   --> src/main.rs:31:1
[INFO] [stderr]    |
[INFO] [stderr] 31 | / error_chain! {
[INFO] [stderr] 32 | |     errors {
[INFO] [stderr] 33 | |         Many(errors: Vec<Box<Error>>) {
[INFO] [stderr] 34 | |             description("some errors occurred")
[INFO] [stderr] ...  |
[INFO] [stderr] 48 | |     }
[INFO] [stderr] 49 | | }
[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[E0599]: no method named `is_ascii_punctuation` found for reference `&&str` in the current scope
[INFO] [stderr]    --> src/main.rs:250:68
[INFO] [stderr]     |
[INFO] [stderr] 250 | ...                   .filter(|s| !s.is_ascii_punctuation())
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^^^^^^^ method not found in `&&str`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:292:13
[INFO] [stderr]     |
[INFO] [stderr] 148 | fn extract(imgid: &str, path: Option<&Path>) -> Result<()> {
[INFO] [stderr]     |                                                 ---------- expected `std::result::Result<(), Error>` because of return type
[INFO] [stderr] ...
[INFO] [stderr] 292 |             result.chain_err(|| ErrorKind::Io(e))
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found enum `std::result::Result`
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected enum `std::result::Result<(), _>`
[INFO] [stderr]                found enum `std::result::Result<std::result::Result<(), _>, _>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `is_ascii_punctuation` found for reference `&&str` in the current scope
[INFO] [stderr]    --> src/main.rs:250:68
[INFO] [stderr]     |
[INFO] [stderr] 250 | ...                   .filter(|s| !s.is_ascii_punctuation())
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^^^^^^^ method not found in `&&str`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:294:13
[INFO] [stderr]     |
[INFO] [stderr] 148 | fn extract(imgid: &str, path: Option<&Path>) -> Result<()> {
[INFO] [stderr]     |                                                 ---------- expected `std::result::Result<(), Error>` because of return type
[INFO] [stderr] ...
[INFO] [stderr] 294 |             result
[INFO] [stderr]     |             ^^^^^^ expected `()`, found enum `std::result::Result`
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected enum `std::result::Result<(), Error>`
[INFO] [stderr]                found enum `std::result::Result<std::result::Result<(), _>, _>`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:292:13
[INFO] [stderr]     |
[INFO] [stderr] 148 | fn extract(imgid: &str, path: Option<&Path>) -> Result<()> {
[INFO] [stderr]     |                                                 ---------- expected `std::result::Result<(), Error>` because of return type
[INFO] [stderr] ...
[INFO] [stderr] 292 |             result.chain_err(|| ErrorKind::Io(e))
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found enum `std::result::Result`
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected enum `std::result::Result<(), _>`
[INFO] [stderr]                found enum `std::result::Result<std::result::Result<(), _>, _>`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:294:13
[INFO] [stderr]     |
[INFO] [stderr] 148 | fn extract(imgid: &str, path: Option<&Path>) -> Result<()> {
[INFO] [stderr]     |                                                 ---------- expected `std::result::Result<(), Error>` because of return type
[INFO] [stderr] ...
[INFO] [stderr] 294 |             result
[INFO] [stderr]     |             ^^^^^^ expected `()`, found enum `std::result::Result`
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected enum `std::result::Result<(), Error>`
[INFO] [stderr]                found enum `std::result::Result<std::result::Result<(), _>, _>`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting
[INFO] [stderr]   --> src/main.rs:31:1
[INFO] [stderr]    |
[INFO] [stderr] 31 | / error_chain! {
[INFO] [stderr] 32 | |     errors {
[INFO] [stderr] 33 | |         Many(errors: Vec<Box<Error>>) {
[INFO] [stderr] 34 | |             description("some errors occurred")
[INFO] [stderr] ...  |
[INFO] [stderr] 48 | |     }
[INFO] [stderr] 49 | | }
[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 7 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0308, E0599, E0658.
[INFO] [stderr] For more information about an error, try `rustc --explain E0308`.
[INFO] [stderr] error: could not compile `extract`.
[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 'std::error::Error::cause': replaced by Error::source, which can support downcasting
[INFO] [stderr]   --> src/main.rs:31:1
[INFO] [stderr]    |
[INFO] [stderr] 31 | / error_chain! {
[INFO] [stderr] 32 | |     errors {
[INFO] [stderr] 33 | |         Many(errors: Vec<Box<Error>>) {
[INFO] [stderr] 34 | |             description("some errors occurred")
[INFO] [stderr] ...  |
[INFO] [stderr] 48 | |     }
[INFO] [stderr] 49 | | }
[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 7 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0308, E0599, E0658.
[INFO] [stderr] For more information about an error, try `rustc --explain E0308`.
[INFO] [stderr] error: could not compile `extract`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "2484d29a8649385079ef49acc61869aede41215bf9cab4c187df2b6ea28a0f36"`
[INFO] running `"docker" "rm" "-f" "2484d29a8649385079ef49acc61869aede41215bf9cab4c187df2b6ea28a0f36"`
[INFO] [stdout] 2484d29a8649385079ef49acc61869aede41215bf9cab4c187df2b6ea28a0f36
