[INFO] cloning repository https://github.com/Kha/elan
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Kha/elan" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKha%2Felan", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKha%2Felan'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8410b87642824d32a6c5722586ede013c2ed2e93
[INFO] testing Kha/elan against beta-2021-08-01 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKha%2Felan" "/workspace/builds/worker-86/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-86/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Kha/elan on toolchain beta-2021-08-01
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Kha/elan
[INFO] finished tweaking git repo https://github.com/Kha/elan
[INFO] tweaked toml for git repo https://github.com/Kha/elan written to /workspace/builds/worker-86/source/Cargo.toml
[INFO] crate git repo https://github.com/Kha/elan already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded remove_dir_all v0.7.0
[INFO] [stderr]   Downloaded remove_dir_all v0.6.1
[INFO] [stderr]   Downloaded security-framework v2.1.1
[INFO] [stderr]   Downloaded winreg v0.8.0
[INFO] [stderr]   Downloaded markdown v0.3.0
[INFO] [stderr]   Downloaded curl-sys v0.4.40+curl-7.75.0
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.21
[INFO] [stderr]   Downloaded openssl-src v111.14.0+1.1.1j
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-86/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-86/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ad55f46b714b90d06101242de696736da4e9d9bb6e8555d8ddb508b0c9d7dbba
[INFO] running `Command { std: "docker" "start" "-a" "ad55f46b714b90d06101242de696736da4e9d9bb6e8555d8ddb508b0c9d7dbba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ad55f46b714b90d06101242de696736da4e9d9bb6e8555d8ddb508b0c9d7dbba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ad55f46b714b90d06101242de696736da4e9d9bb6e8555d8ddb508b0c9d7dbba", kill_on_drop: false }`
[INFO] [stdout] ad55f46b714b90d06101242de696736da4e9d9bb6e8555d8ddb508b0c9d7dbba
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-86/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-86/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 48a89bcd4aca3e7046e601003a27497d382ae5f74ce40b3e2be890f1d5876a1b
[INFO] running `Command { std: "docker" "start" "-a" "48a89bcd4aca3e7046e601003a27497d382ae5f74ce40b3e2be890f1d5876a1b", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling libc v0.2.88
[INFO] [stderr]    Compiling cc v1.0.67
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling pkg-config v0.3.19
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling syn v1.0.62
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]    Compiling tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling serde v1.0.124
[INFO] [stderr]    Compiling gimli v0.23.0
[INFO] [stderr]    Compiling crc32fast v1.2.1
[INFO] [stderr]    Compiling rustc-demangle v0.1.18
[INFO] [stderr]    Compiling ucd-trie v0.1.3
[INFO] [stderr]    Compiling curl v0.4.34
[INFO] [stderr]    Compiling ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling once_cell v1.7.2
[INFO] [stderr]    Compiling object v0.23.0
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling regex-syntax v0.6.22
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling openssl v0.10.32
[INFO] [stderr]    Compiling const_fn v0.4.5
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling serde_derive v1.0.124
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling unicode-width v0.1.8
[INFO] [stderr]    Compiling serde_json v1.0.64
[INFO] [stderr]    Compiling elan-dist v1.11.0 (/opt/rustwide/workdir/src/elan-dist)
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling byteorder v1.4.2
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling json v0.12.4
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling ansi_term v0.11.0
[INFO] [stderr]    Compiling pipeline v0.5.0
[INFO] [stderr]    Compiling elan v1.0.7-pre (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling itoa v0.4.7
[INFO] [stderr]    Compiling remove_dir_all v0.6.1
[INFO] [stderr]    Compiling typenum v1.12.0
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling error-chain v0.12.4
[INFO] [stderr]    Compiling standback v0.2.15
[INFO] [stderr]    Compiling unicode-bidi v0.3.4
[INFO] [stderr]    Compiling ole32-sys v0.2.0
[INFO] [stderr]    Compiling form_urlencoded v1.0.1
[INFO] [stderr]    Compiling time v0.2.25
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling tinyvec v1.1.1
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> build.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Ok(try!(String::from_utf8(try!(Command::new("git")
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> build.rs:38:31
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Ok(try!(String::from_utf8(try!(Command::new("git")
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> build.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 |     Ok(try!(String::from_utf8(try!(Command::new("git")
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> build.rs:45:31
[INFO] [stdout]    |
[INFO] [stdout] 45 |     Ok(try!(String::from_utf8(try!(Command::new("git")
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]   --> build.rs:32:58
[INFO] [stdout]    |
[INFO] [stdout] 32 |         (Ok(hash), Ok(date)) => format!(" ({} {})", hash.trim_right(), date),
[INFO] [stdout]    |                                                          ^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling openssl-src v111.14.0+1.1.1j
[INFO] [stderr]    Compiling thread_local v1.1.3
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling miniz_oxide v0.3.7
[INFO] [stderr]    Compiling pest v2.1.3
[INFO] [stderr]    Compiling walkdir v2.3.1
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling libz-sys v1.1.2
[INFO] [stderr]    Compiling curl-sys v0.4.40+curl-7.75.0
[INFO] [stderr]    Compiling bzip2-sys v0.1.10+1.0.8
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling itertools v0.10.0
[INFO] [stderr]    Compiling socket2 v0.3.19
[INFO] [stderr]    Compiling dirs-sys v0.3.5
[INFO] [stderr]    Compiling xattr v0.2.2
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling filetime v0.2.14
[INFO] [stderr]    Compiling time v0.1.43
[INFO] [stderr]    Compiling remove_dir_all v0.7.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling wait-timeout v0.2.0
[INFO] [stderr]    Compiling aho-corasick v0.7.15
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling flate2 v1.0.14
[INFO] [stderr]    Compiling clap v2.33.3
[INFO] [stderr]    Compiling addr2line v0.14.1
[INFO] [stderr]    Compiling openssl-sys v0.9.60
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling semver-parser v0.10.2
[INFO] [stderr]    Compiling rand_core v0.6.2
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling block-buffer v0.9.0
[INFO] [stderr]    Compiling dirs v3.0.1
[INFO] [stderr]    Compiling unicode-normalization v0.1.17
[INFO] [stderr]    Compiling tar v0.4.33
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]    Compiling rand_chacha v0.3.0
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stderr]    Compiling sha2 v0.9.3
[INFO] [stderr]    Compiling semver v0.11.0
[INFO] [stderr]    Compiling backtrace v0.3.56
[INFO] [stderr]    Compiling regex v1.4.3
[INFO] [stderr]    Compiling bzip2 v0.3.3
[INFO] [stderr]    Compiling rand v0.8.3
[INFO] [stderr]    Compiling markdown v0.3.0
[INFO] [stderr]    Compiling tempfile v3.2.0
[INFO] [stderr]    Compiling idna v0.2.2
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling url v2.2.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.24
[INFO] [stderr]    Compiling time-macros-impl v0.1.1
[INFO] [stderr]    Compiling time-macros v0.1.1
[INFO] [stderr]    Compiling thiserror v1.0.24
[INFO] [stderr]    Compiling zip v0.5.11
[INFO] [stderr]    Compiling download v0.4.0 (/opt/rustwide/workdir/src/download)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/download/src/lib.rs:34:37
[INFO] [stdout]    |
[INFO] [stdout] 34 |                          callback: &Fn(Event) -> Result<()>)
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Event) -> Result<()>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/download/src/lib.rs:47:23
[INFO] [stdout]    |
[INFO] [stdout] 47 |     callback: Option<&Fn(Event) -> Result<()>>)
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Event) -> Result<()>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         try!(download_with_backend(backend, url, resume_from, &|event| {
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         try!(file.borrow_mut().sync_data()
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/download/src/lib.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |             try!(possible_partial.seek(SeekFrom::End(0)));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/download/src/lib.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |                     try!(cb(Event::ResumingPartialDownload));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/download/src/lib.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |                         try!(cb(Event::DownloadDataReceived(&buf[..n])));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/download/src/lib.rs:67:33
[INFO] [stdout]    |
[INFO] [stdout] 67 |                         let n = try!(partial.read(&mut buf));
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/download/src/lib.rs:77:37
[INFO] [stdout]    |
[INFO] [stdout] 77 |                     let file_info = try!(partial.metadata());
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/download/src/lib.rs:85:17
[INFO] [stdout]    |
[INFO] [stdout] 85 |                 try!(OpenOptions::new()
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/download/src/lib.rs:95:14
[INFO] [stdout]    |
[INFO] [stdout] 95 |             (try!(OpenOptions::new()
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 try!(file.borrow_mut().write_all(data)
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/download/src/lib.rs:146:32
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     callback: &Fn(Event) -> Result<()> )
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Event) -> Result<()>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |             try!(handle.url(&url.to_string()).chain_err(|| "failed to set url"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |             try!(handle.follow_location(true).chain_err(|| "failed to set follow redirects"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |             try!(handle.connect_timeout(Duration::new(30, 0)).chain_err(|| "failed to set connect timeout"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 |                 try!(handle.resume_from(resume_from)
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:178:17
[INFO] [stdout]     |
[INFO] [stdout] 178 |                 try!(transfer.write_function(|data| {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:190:17
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 try!(transfer.header_function(|header| {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:211:17
[INFO] [stdout]     |
[INFO] [stdout] 211 |                 try!(transfer.perform().or_else(|e| {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:229:24
[INFO] [stdout]     |
[INFO] [stdout] 229 |             let code = try!(handle.response_code().chain_err(|| "failed to get response code"));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/download/src/lib.rs:231:25
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 0 | 200 ... 299 => {},
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` 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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/download/src/lib.rs:387:33
[INFO] [stdout]     |
[INFO] [stdout] 387 |                     _callback: &Fn(Event) -> Result<()> )
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Event) -> Result<()>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling elan-utils v1.11.0 (/opt/rustwide/workdir/src/elan-utils)
[INFO] [stdout] warning: 23 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-utils/src/raw.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     try!(io::Write::write_all(&mut file, contents.as_bytes()));
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-utils/src/raw.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     try!(file.sync_data());
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-utils/src/raw.rs:54:20
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let mut file = try!(fs::OpenOptions::new()
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-utils/src/raw.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     try!(io::Read::read_to_string(&mut file, &mut contents));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-utils/src/raw.rs:68:20
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let mut file = try!(fs::OpenOptions::new()
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-utils/src/raw.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     try!(writer.flush());
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-utils/src/raw.rs:83:20
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let src_file = try!(fs::File::open(src));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-utils/src/raw.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let dest_file = try!(fs::File::create(dest));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-utils/src/raw.rs:91:20
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let line = try!(result);
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-utils/src/raw.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |             try!(writeln!(&mut writer, "{}", &line));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:105:20
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let src_file = try!(fs::File::open(src));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:110:20
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let line = try!(result);
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     try!(writeln!(&mut dest_file, "{}", line));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     try!(dest_file.sync_data());
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let mut dest_file = try!(fs::OpenOptions::new()
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:134:20
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let mut file = try!(fs::OpenOptions::new()
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:142:26
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let bytes_read = try!(io::Read::read(&mut file, &mut buffer));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |             try!(io::Write::write_all(w, &mut buffer[0..bytes_read]));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:278:32
[INFO] [stdout]     |
[INFO] [stdout] 278 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:307:8
[INFO] [stdout]     |
[INFO] [stdout] 307 |     if try!(fs::symlink_metadata(path)).file_type().is_symlink() {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:323:5
[INFO] [stdout]     |
[INFO] [stdout] 323 |     try!(fs::create_dir(dest));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:324:18
[INFO] [stdout]     |
[INFO] [stdout] 324 |     for entry in try!(src.read_dir()) {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:325:21
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let entry = try!(entry);
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:326:20
[INFO] [stdout]     |
[INFO] [stdout] 326 |         let kind = try!(entry.file_type());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:330:13
[INFO] [stdout]     |
[INFO] [stdout] 330 |             try!(copy_dir(&src, &dest));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:332:13
[INFO] [stdout]     |
[INFO] [stdout] 332 |             try!(fs::copy(&src, &dest));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `libc` is imported redundantly
[INFO] [stdout]   --> src/elan-utils/src/tty.rs:4:9
[INFO] [stdout]    |
[INFO] [stdout] 4  |     use libc;
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/elan-utils/src/lib.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | extern crate libc;
[INFO] [stdout]    | ------------------ the item `libc` is already imported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `libc` is imported redundantly
[INFO] [stdout]   --> src/elan-utils/src/tty.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     use libc;
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/elan-utils/src/lib.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | extern crate libc;
[INFO] [stdout]    | ------------------ the item `libc` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan-utils/src/utils.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 |                          notify_handler: &Fn(Notification))
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:128:56
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub fn canonicalize_path(path: &Path, notify_handler: &Fn(Notification)) -> PathBuf {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:147:39
[INFO] [stdout]     |
[INFO] [stdout] 147 |                      notify_handler: &Fn(Notification))
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:156:39
[INFO] [stdout]     |
[INFO] [stdout] 156 |                      notify_handler: &Fn(Notification))
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:164:58
[INFO] [stdout]     |
[INFO] [stdout] 164 |                 &ErrorKind::Download(DEK::HttpStatus(400 ... 499)) => true,
[INFO] [stdout]     |                                                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` 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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:242:5
[INFO] [stdout]     |
[INFO] [stdout] 242 |     try!(download_to_path_with_backend(backend, url, path, resume_from_partial, Some(callback)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:189:36
[INFO] [stdout]     |
[INFO] [stdout] 189 |                   notify_handler: &Fn(Notification))
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Digest` is imported redundantly
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 9   | use sha2::{Digest, Sha256};
[INFO] [stdout]     |            ------ the item `Digest` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 192 |     use sha2::Digest;
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `download` is imported redundantly
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:195:20
[INFO] [stdout]     |
[INFO] [stdout] 195 |     use download::{self, Event, Backend};
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/elan-utils/src/lib.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout] 10  | extern crate download;
[INFO] [stdout]     | ---------------------- the item `download` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:203:20
[INFO] [stdout]     |
[INFO] [stdout] 203 |     let callback: &Fn(Event) -> download::Result<()> = &|msg| {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Event) -> download::Result<()>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:277:62
[INFO] [stdout]     |
[INFO] [stdout] 277 | pub fn symlink_dir(src: &Path, dest: &Path, notify_handler: &Fn(Notification)) -> Result<()> {
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:323:59
[INFO] [stdout]     |
[INFO] [stdout] 323 | pub fn copy_dir(src: &Path, dest: &Path, notify_handler: &Fn(Notification)) -> Result<()> {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:344:69
[INFO] [stdout]     |
[INFO] [stdout] 344 | pub fn remove_dir(name: &'static str, path: &Path, notify_handler: &Fn(Notification)) -> Result<()> {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:407:24
[INFO] [stdout]     |
[INFO] [stdout] 407 |         let metadata = try!(fs::metadata(path).chain_err(|| {
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:444:15
[INFO] [stdout]     |
[INFO] [stdout] 444 |     let cwd = try!(env::current_dir().chain_err(|| ErrorKind::ElanHome));
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/elan-utils/src/utils.rs:8:37
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::atomic::{AtomicBool, ATOMIC_BOOL_INIT, Ordering};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:183:46
[INFO] [stdout]     |
[INFO] [stdout] 183 | static DEPRECATED_HYPER_WARNED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]  --> src/elan-utils/src/utils.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use sha2::{Digest, Sha256};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan-dist/src/temp.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 |     notify_handler: Box<Fn(Notification)>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-dist/src/temp.rs:108:32
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-dist/src/temp.rs:136:61
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn new(root_directory: PathBuf, notify_handler: Box<Fn(Notification)>) -> Self {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-dist/src/temp.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |         try!(self.create_root());
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-dist/src/temp.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 try!(fs::create_dir(&temp_dir).map_err(|e| {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-dist/src/temp.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |         try!(self.create_root());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-dist/src/temp.rs:197:17
[INFO] [stdout]     |
[INFO] [stdout] 197 |                 try!(fs::File::create(&temp_file).map_err(|e| {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/dist.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         try!(write!(f, "{}", &self.channel));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/dist.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |             try!(write!(f, "{}-", str::replace(origin, "/", "-")));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/dist.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |             try!(write!(f, "-{}", date));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-dist/src/dist.rs:160:25
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let manifestation = try!(Manifestation::open(prefix.clone()));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/component/package.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let entries = try!(archive.entries().chain_err(|| ErrorKind::ExtractingPackage));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/component/package.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         try!(entry.unpack(&full_path).chain_err(|| ErrorKind::ExtractingPackage));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/component/package.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut entry = try!(entry.chain_err(|| ErrorKind::ExtractingPackage));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/component/package.rs:37:24
[INFO] [stdout]    |
[INFO] [stdout] 37 |             let path = try!(path.chain_err(|| ErrorKind::ExtractingPackage));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/component/package.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |                 try!(::std::fs::create_dir_all(&parent).chain_err(|| ErrorKind::ExtractingPackage)),
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/component/package.rs:75:20
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let file = try!(File::open(path).chain_err(|| ErrorKind::ExtractingPackage));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/component/package.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |                     try!(fs::create_dir_all(&parent).chain_err(|| ErrorKind::ExtractingPackage)),
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-dist/src/component/package.rs:131:20
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let file = try!(File::open(path).chain_err(|| ErrorKind::ExtractingPackage));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan-dist/src/manifestation.rs:26:36
[INFO] [stdout]    |
[INFO] [stdout] 26 |                   notify_handler: &Fn(Notification)) -> Result<()> {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/manifestation.rs:63:30
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let installer_file = try!(dlcfg.download_and_check(&url, ext));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan-dist/src/download.rs:19:29
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub notify_handler: &'a Fn(Notification),
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/download.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         try!(utils::ensure_dir_exists("Download Directory", &self.download_dir, &|n| (self.notify_handler)(n.into())));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/download.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |         try!(utils::download_file_with_resume(&url,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/download.rs:48:33
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let cached_result = try!(file_hash(&target_file));
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/download.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 try!(fs::remove_file(&target_file).chain_err(|| "cleaning up previous download"));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/download.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |             try!(fs::rename(&partial_file_path, &target_file));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/download.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 |                 try!(fs::remove_file(used_file).chain_err(|| "cleaning up cached downloads"));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-dist/src/download.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         try!(utils::download_file(&url,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-dist/src/download.rs:106:19
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let url = try!(utils::parse_url(url_str));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-dist/src/download.rs:107:20
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let file = try!(self.temp_cfg.new_file_with_ext("", ext));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-dist/src/download.rs:122:26
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let mut downloaded = try!(fs::File::open(&path).chain_err(|| "opening already downloaded file"));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/manifest.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 26 |             pkg: try!(get_string(&mut table, "pkg", path)),
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/config.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let version = try!(get_string(&mut table, "config_version", path));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/config.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let components = try!(get_array(&mut table, "components", path));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/config.rs:24:26
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let components = try!(Self::toml_to_components(components,
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/config.rs:58:29
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 result.push(try!(Component::from_toml(t, &path)));
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 46 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 37 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]   --> src/elan/toolchain.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use regex::Regex;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan/toolchain.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 |     dist_handler: Box<Fn(elan_dist::Notification) + 'a>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(elan_dist::Notification) + 'a`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/toolchain.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 |         Ok(try!(ToolchainDesc::from_str(&self.name)))
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/toolchain.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |         Ok(try!(utils::assert_is_directory(&self.path)))
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |             try!(utils::remove_file("update hash", &update_hash));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/toolchain.rs:99:36
[INFO] [stdout]    |
[INFO] [stdout] 99 |         if let Some(update_hash) = try!(self.update_hash()) {
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 107 |         Ok(try!(result))
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:118:23
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let updated = try!(install_method.run(&self.path,
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:139:16
[INFO] [stdout]     |
[INFO] [stdout] 139 |             Ok(try!(self.install(install_method)))
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 |             Ok(Some(try!(self.cfg.get_hash_file(&self.dir_name, true))))
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 |         if try!(self.cfg.telemetry_enabled()) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:169:27
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let update_hash = try!(self.update_hash());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:170:43
[INFO] [stdout]     |
[INFO] [stdout] 170 |         self.install(InstallMethod::Dist(&try!(self.desc()),
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:203:27
[INFO] [stdout]     |
[INFO] [stdout] 203 |         let update_hash = try!(self.update_hash());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:204:60
[INFO] [stdout]     |
[INFO] [stdout] 204 |         self.install_if_not_installed(InstallMethod::Dist(&try!(self.desc()),
[INFO] [stdout]     |                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 217 |         try!(utils::assert_is_directory(&pathbuf));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:219:9
[INFO] [stdout]     |
[INFO] [stdout] 219 |         try!(utils::assert_is_file(&pathbuf));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:222:13
[INFO] [stdout]     |
[INFO] [stdout] 222 |             try!(self.install(InstallMethod::Link(&try!(utils::to_absolute(src)))));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:222:52
[INFO] [stdout]     |
[INFO] [stdout] 222 |             try!(self.install(InstallMethod::Link(&try!(utils::to_absolute(src)))));
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |             try!(self.install(InstallMethod::Copy(src)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:306:9
[INFO] [stdout]     |
[INFO] [stdout] 306 |         try!(self.verify());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:318:9
[INFO] [stdout]     |
[INFO] [stdout] 318 |         try!(self.verify());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:320:12
[INFO] [stdout]     |
[INFO] [stdout] 320 |         Ok(try!(utils::open_browser(&try!(self.doc_path(relative)))))
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:320:38
[INFO] [stdout]     |
[INFO] [stdout] 320 |         Ok(try!(utils::open_browser(&try!(self.doc_path(relative)))))
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:327:12
[INFO] [stdout]     |
[INFO] [stdout] 327 |         Ok(try!(self.cfg.settings_file.with_mut(|s| {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan/config.rs:52:29
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub notify_handler: Arc<Fn(Notification)>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/config.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         try!(utils::ensure_dir_exists("home", &elan_dir,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan/config.rs:56:41
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn from_env(notify_handler: Arc<Fn(Notification)>) -> Result<Self> {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/config.rs:58:24
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let elan_dir = try!(utils::elan_home());
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         try!(self.settings_file.with_mut(|s| {
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |             try!(utils::ensure_dir_exists("toolchains",
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |         try!(toolchain.verify());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:121:25
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let toolchain = try!(self.get_toolchain(name, false));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |             try!(utils::ensure_dir_exists("update-hash",
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:138:39
[INFO] [stdout]     |
[INFO] [stdout] 138 |         if let Some((toolchain, _)) = try!(self.find_override_toolchain_or_default(path)) {
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:146:24
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let opt_name = try!(self.settings_file.with(|s| Ok(s.default_toolchain.clone())));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:149:29
[INFO] [stdout]     |
[INFO] [stdout] 149 |             let toolchain = try!(self.verify_toolchain(&name)
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:202:25
[INFO] [stdout]     |
[INFO] [stdout] 202 |                         try!(toolchain.install_from_dist(false));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:267:47
[INFO] [stdout]     |
[INFO] [stdout] 267 |         Ok(if let Some((toolchain, reason)) = try!(self.find_override(path)) {
[INFO] [stdout]     |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:270:13
[INFO] [stdout]     |
[INFO] [stdout] 270 |             try!(self.find_default()).map(|toolchain| (toolchain, None))
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:286:42
[INFO] [stdout]     |
[INFO] [stdout] 286 |             let mut toolchains: Vec<_> = try!(utils::read_dir("toolchains", &self.toolchains_dir))
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:302:26
[INFO] [stdout]     |
[INFO] [stdout] 302 |         let toolchains = try!(self.list_toolchains());
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:335:34
[INFO] [stdout]     |
[INFO] [stdout] 335 |         let (ref toolchain, _) = try!(self.toolchain_for_dir(path));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:342:29
[INFO] [stdout]     |
[INFO] [stdout] 342 |         let ref toolchain = try!(self.get_toolchain(toolchain, false));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:344:13
[INFO] [stdout]     |
[INFO] [stdout] 344 |             try!(toolchain.install_from_dist(false));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:351:30
[INFO] [stdout]     |
[INFO] [stdout] 351 |         let (toolchain, _) = try!(self.toolchain_for_dir(path));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:356:30
[INFO] [stdout]     |
[INFO] [stdout] 356 |         let (toolchain, _) = try!(self.toolchain_for_dir(path));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout] 365 |         try!(self.settings_file.with_mut(|s| {
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:379:9
[INFO] [stdout]     |
[INFO] [stdout] 379 |         try!(self.settings_file.with_mut(|s| {
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:390:18
[INFO] [stdout]     |
[INFO] [stdout] 390 |         Ok(match try!(self.settings_file.with(|s| Ok(s.telemetry))) {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:400:9
[INFO] [stdout]     |
[INFO] [stdout] 400 |         try!(t.analyze_telemetry_events(&events));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:399:22
[INFO] [stdout]     |
[INFO] [stdout] 399 |         let events = try!(t.import_telemery());
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan/install.rs:21:52
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn run(self, path: &Path, notify_handler: &Fn(Notification)) -> Result<bool> {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/install.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |                     try!(uninstall(path, notify_handler));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/install.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 try!(utils::copy_dir(src, path, &|n| notify_handler(n.into())));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/install.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 try!(utils::symlink_dir(src, &path, &|n| notify_handler(n.into())));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/install.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |                     try!(dist::update_from_dist(
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/install.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 |                         try!(utils::write_file("update hash", hash_file, &hash));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan/install.rs:68:48
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn uninstall(path: &Path, notify_handler: &Fn(Notification)) -> Result<()> {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/install.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 |     Ok(try!(utils::remove_dir("install", path,
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/settings.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         try!(utils::write_file("settings", &self.path, &s.stringify()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/settings.rs:39:21
[INFO] [stdout]    |
[INFO] [stdout] 39 |                     try!(Settings::parse(&content))
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/settings.rs:38:35
[INFO] [stdout]    |
[INFO] [stdout] 38 |                     let content = try!(utils::read_file("settings", &self.path));
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/settings.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |             try!(self.write_settings());
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/settings.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         try!(self.read_settings());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/settings.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         try!(self.read_settings());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/settings.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         try!(self.write_settings());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/settings.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |             try!(f(self.cache.borrow_mut().as_mut().unwrap()))
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan/settings.rs:96:50
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn path_to_key(path: &Path, notify_handler: &Fn(Notification)) -> String {
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan/settings.rs:104:69
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn remove_override(&mut self, path: &Path, notify_handler: &Fn(Notification)) -> bool {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan/settings.rs:109:85
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn add_override(&mut self, path: &Path, toolchain: String, notify_handler: &Fn(Notification)) {
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan/settings.rs:115:61
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn dir_override(&self, dir: &Path, notify_handler: &Fn(Notification)) -> Option<String> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/settings.rs:129:23
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let version = try!(get_string(&mut table, "version", path));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/settings.rs:135:32
[INFO] [stdout]     |
[INFO] [stdout] 135 |             default_toolchain: try!(get_opt_string(&mut table, "default_toolchain", path)),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/settings.rs:136:24
[INFO] [stdout]     |
[INFO] [stdout] 136 |             overrides: try!(Self::table_to_overrides(&mut table, path)),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/settings.rs:137:27
[INFO] [stdout]     |
[INFO] [stdout] 137 |             telemetry: if try!(get_opt_bool(&mut table, "telemetry", path)).unwrap_or(false) {
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/settings.rs:165:25
[INFO] [stdout]     |
[INFO] [stdout] 165 |         let pkg_table = try!(get_table(table, "overrides", path));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `time`
[INFO] [stdout]  --> src/elan/telemetry.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use time;
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `raw`, `utils`
[INFO] [stdout]  --> src/elan/telemetry.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use elan_utils::{raw, utils};
[INFO] [stdout]   |                  ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json`
[INFO] [stdout]  --> src/elan/telemetry.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde_json;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/telemetry.rs:49:24
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let contents = try!(telemetry_dir_contents.chain_err(|| ErrorKind::TelemetryCleanupError));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/telemetry.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |             try!(fs::remove_file(&telemetry_files[i]).chain_err(|| ErrorKind::TelemetryCleanupError));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/command.rs:20:50
[INFO] [stdout]    |
[INFO] [stdout] 20 |     if (arg0 == "lean" || arg0 == "lean.exe") && try!(cfg.telemetry_enabled()) {
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `libc` is imported redundantly
[INFO] [stdout]    --> src/elan/command.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 163 |     use libc;
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/elan/lib.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout] 17  | extern crate libc;
[INFO] [stdout]     | ------------------ the item `libc` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/telemetry_analysis.rs:119:24
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let contents = try!(self.telemetry_dir.read_dir().chain_err(|| ErrorKind::TelemetryAnalysisError));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/telemetry_analysis.rs:142:17
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let f = try!(File::open(&path).chain_err(|| ErrorKind::TelemetryAnalysisError));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]   --> src/elan/telemetry.rs:42:33
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn log_telemetry(&self, event: TelemetryEvent) -> Result<()> {
[INFO] [stdout]    |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/elan/toolchain.rs:340:21
[INFO] [stdout]     |
[INFO] [stdout] 340 |                 let mut ext = EXE_SUFFIX;
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `LOG_FILE_VERSION`
[INFO] [stdout]   --> src/elan/telemetry.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | const LOG_FILE_VERSION: i32 = 1;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 89 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/common.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let input = try!(read_line());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/common.rs:47:17
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let input = try!(read_line());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/common.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let input = try!(read_line());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/common.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let input = try!(read_line());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/common.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     Ok(try!(Cfg::from_env(Arc::new(move |n: Notification| {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/common.rs:194:22
[INFO] [stdout]     |
[INFO] [stdout] 194 |     let toolchains = try!(cfg.update_all_channels(force_update));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/common.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |         try!(self_update::prepare_update())
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/common.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |         try!(show_channel_updates(cfg, toolchains));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/common.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         try!(self_update::run_update(setup_path));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/common.rs:274:22
[INFO] [stdout]     |
[INFO] [stdout] 274 |     let toolchains = try!(cfg.list_toolchains());
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/common.rs:299:21
[INFO] [stdout]     |
[INFO] [stdout] 299 |     let overrides = try!(cfg.settings_file.with(|s| Ok(s.overrides.clone())));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/proxy_mode.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     try!(::self_update::cleanup_self_updater());
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/proxy_mode.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     try!(direct_proxy(&cfg, arg0, toolchain, &cmd_args));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/proxy_mode.rs:22:20
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let ref arg0 = try!(arg0.ok_or(ErrorKind::NoExeName));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/proxy_mode.rs:42:15
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let cfg = try!(set_globals(false));
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/proxy_mode.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |         None => try!(cfg.create_command_for_dir(&try!(utils::current_dir()), arg0)),
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/proxy_mode.rs:50:50
[INFO] [stdout]    |
[INFO] [stdout] 50 |         None => try!(cfg.create_command_for_dir(&try!(utils::current_dir()), arg0)),
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/proxy_mode.rs:51:21
[INFO] [stdout]    |
[INFO] [stdout] 51 |         Some(tc) => try!(cfg.create_command_for_toolchain(tc, true, arg0)),
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/proxy_mode.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 |     Ok(try!(run_command_for_dir(cmd, arg0, args, &cfg)))
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/setup_mode.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     try!(self_update::install(no_prompt, verbose, opts));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     try!(::self_update::cleanup_self_updater());
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let ref cfg = try!(common::set_globals(verbose));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:24:30
[INFO] [stdout]    |
[INFO] [stdout] 24 |         ("show", Some(_)) => try!(show(cfg)),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:25:33
[INFO] [stdout]    |
[INFO] [stdout] 25 |         ("install", Some(m)) => try!(update(cfg, m)),
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:26:32
[INFO] [stdout]    |
[INFO] [stdout] 26 |         ("update", Some(m)) => try!(update(cfg, m)),
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:27:35
[INFO] [stdout]    |
[INFO] [stdout] 27 |         ("uninstall", Some(m)) => try!(toolchain_remove(cfg, m)),
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:28:33
[INFO] [stdout]    |
[INFO] [stdout] 28 |         ("default", Some(m)) => try!(default_(cfg, m)),
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:31:41
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 ("install", Some(m)) => try!(update(cfg, m)),
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:32:38
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 ("list", Some(_)) => try!(common::list_toolchains(cfg)),
[INFO] [stdout]    |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:33:38
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 ("link", Some(m)) => try!(toolchain_link(cfg, m)),
[INFO] [stdout]    |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:34:43
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 ("uninstall", Some(m)) => try!(toolchain_remove(cfg, m)),
[INFO] [stdout]    |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:40:38
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 ("list", Some(_)) => try!(common::list_overrides(cfg)),
[INFO] [stdout]    |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:41:37
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 ("set", Some(m)) => try!(override_add(cfg, m)),
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:42:39
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 ("unset", Some(m)) => try!(override_remove(cfg, m)),
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:46:29
[INFO] [stdout]    |
[INFO] [stdout] 46 |         ("run", Some(m)) => try!(run(cfg, m)),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:47:31
[INFO] [stdout]    |
[INFO] [stdout] 47 |         ("which", Some(m)) => try!(which(cfg, m)),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:48:29
[INFO] [stdout]    |
[INFO] [stdout] 48 |         ("doc", Some(m)) => try!(doc(cfg, m)),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:49:29
[INFO] [stdout]    |
[INFO] [stdout] 49 |         ("man", Some(m)) => try!(man(cfg,m)),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:52:40
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 ("update", Some(_)) => try!(self_update::update()),
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:53:43
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 ("uninstall", Some(m)) => try!(self_uninstall(m)),
[INFO] [stdout]    |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:59:40
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 ("enable", Some(_)) => try!(set_telemetry(&cfg, TelemetryMode::On)),
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 ("disable", Some(_)) => try!(set_telemetry(&cfg, TelemetryMode::Off)),
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-cli/elan_mode.rs:61:41
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 ("analyze", Some(_)) => try!(analyze_telemetry(&cfg)),
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 266 |     try!(toolchain.make_default());
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:258:25
[INFO] [stdout]     |
[INFO] [stdout] 258 |     let ref toolchain = try!(cfg.get_toolchain(toolchain, false));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:261:14
[INFO] [stdout]     |
[INFO] [stdout] 261 |         Some(try!(toolchain.install_from_dist_if_not_installed()))
[INFO] [stdout]     |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:270:9
[INFO] [stdout]     |
[INFO] [stdout] 270 |         try!(common::show_channel_update(cfg, toolchain.name(), Ok(status)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:279:29
[INFO] [stdout]     |
[INFO] [stdout] 279 |             let toolchain = try!(cfg.get_toolchain(name, false));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:282:22
[INFO] [stdout]     |
[INFO] [stdout] 282 |                 Some(try!(toolchain.install_from_dist(m.is_present("force"))))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:289:17
[INFO] [stdout]     |
[INFO] [stdout] 289 |                 try!(common::show_channel_update(cfg, toolchain.name(), Ok(status)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:293:9
[INFO] [stdout]     |
[INFO] [stdout] 293 |         try!(common::update_all_channels(
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:307:15
[INFO] [stdout]     |
[INFO] [stdout] 307 |     let cmd = try!(cfg.create_command_for_toolchain(toolchain, m.is_present("install"), args[0]));
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:309:8
[INFO] [stdout]     |
[INFO] [stdout] 309 |     Ok(try!(command::run_command_for_dir(cmd, args[0], &args[1..], &cfg)))
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:318:5
[INFO] [stdout]     |
[INFO] [stdout] 318 |     try!(utils::assert_is_file(&binary_path));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:315:23
[INFO] [stdout]     |
[INFO] [stdout] 315 |     let binary_path = try!(cfg.which_binary(&try!(utils::current_dir()), binary))
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:315:46
[INFO] [stdout]     |
[INFO] [stdout] 315 |     let binary_path = try!(cfg.which_binary(&try!(utils::current_dir()), binary))
[INFO] [stdout]     |                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:326:19
[INFO] [stdout]     |
[INFO] [stdout] 326 |     let ref cwd = try!(utils::current_dir());
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:327:32
[INFO] [stdout]     |
[INFO] [stdout] 327 |     let installed_toolchains = try!(cfg.list_toolchains());
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:341:28
[INFO] [stdout]     |
[INFO] [stdout] 341 |         let default_name = try!(cfg.get_default());
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:398:25
[INFO] [stdout]     |
[INFO] [stdout] 398 |         let toolchain = try!(cfg.get_toolchain(toolchain, false));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:402:19
[INFO] [stdout]     |
[INFO] [stdout] 402 |     let ref cwd = try!(utils::current_dir());
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:403:26
[INFO] [stdout]     |
[INFO] [stdout] 403 |     let (toolchain, _) = try!(cfg.toolchain_for_dir(cwd));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:411:21
[INFO] [stdout]     |
[INFO] [stdout] 411 |     let toolchain = try!(cfg.get_toolchain(toolchain, true));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:413:8
[INFO] [stdout]     |
[INFO] [stdout] 413 |     Ok(try!(toolchain.install_from_dir(Path::new(path), true)))
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:419:9
[INFO] [stdout]     |
[INFO] [stdout] 419 |         try!(toolchain.remove());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:418:25
[INFO] [stdout]     |
[INFO] [stdout] 418 |         let toolchain = try!(cfg.get_toolchain(toolchain, false));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:434:5
[INFO] [stdout]     |
[INFO] [stdout] 434 |     try!(toolchain.make_override(&try!(utils::current_dir())));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:426:21
[INFO] [stdout]     |
[INFO] [stdout] 426 |     let toolchain = try!(cfg.get_toolchain(toolchain, false));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:429:14
[INFO] [stdout]     |
[INFO] [stdout] 429 |         Some(try!(toolchain.install_from_dist_if_not_installed()))
[INFO] [stdout]     |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:434:35
[INFO] [stdout]     |
[INFO] [stdout] 434 |     try!(toolchain.make_override(&try!(utils::current_dir())));
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:438:9
[INFO] [stdout]     |
[INFO] [stdout] 438 |         try!(common::show_channel_update(cfg, toolchain.name(), Ok(status)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:446:28
[INFO] [stdout]     |
[INFO] [stdout] 446 |         let list: Vec<_> = try!(cfg.settings_file.with(|s| Ok(s.overrides.iter().filter_map(|(k, _)|
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:461:18
[INFO] [stdout]     |
[INFO] [stdout] 461 |             vec![try!(utils::current_dir()).to_str().unwrap().to_string()]
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:466:12
[INFO] [stdout]     |
[INFO] [stdout] 466 |         if try!(cfg.settings_file.with_mut(|s| {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:490:8
[INFO] [stdout]     |
[INFO] [stdout] 490 |     Ok(try!(cfg.open_docs_for_dir(&try!(utils::current_dir()), doc_url)))
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:490:36
[INFO] [stdout]     |
[INFO] [stdout] 490 |     Ok(try!(cfg.open_docs_for_dir(&try!(utils::current_dir()), doc_url)))
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:501:5
[INFO] [stdout]     |
[INFO] [stdout] 501 |     try!(utils::assert_is_file(&man_path));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:495:21
[INFO] [stdout]     |
[INFO] [stdout] 495 |     let toolchain = try!(explicit_or_dir_toolchain(cfg, m));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:517:33
[INFO] [stdout]     |
[INFO] [stdout] 517 |         TelemetryMode::On => Ok(try!(cfg.set_telemetry(true))),
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:518:34
[INFO] [stdout]     |
[INFO] [stdout] 518 |         TelemetryMode::Off => Ok(try!(cfg.set_telemetry(false))),
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/elan_mode.rs:523:20
[INFO] [stdout]     |
[INFO] [stdout] 523 |     let analysis = try!(cfg.analyze_telemetry());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:180:16
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let path = try!(utils::elan_home());
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:201:5
[INFO] [stdout]     |
[INFO] [stdout] 201 |     try!(check_existence_of_lean_in_path(no_prompt));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 |     try!(do_anti_sudo_check(no_prompt));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:205:23
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let ref msg = try!(pre_install_msg(opts.no_modify_path));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:211:19
[INFO] [stdout]     |
[INFO] [stdout] 211 |             match try!(common::confirm_advanced()) {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:220:28
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     opts = try!(customize_install(opts));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 227 |         try!(install_bins());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |         try!(maybe_install_lean(&opts.default_toolchain, verbose));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:229:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |             try!(do_add_to_path(&get_add_path_methods()));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:238:13
[INFO] [stdout]     |
[INFO] [stdout] 238 |             try!(utils::write_file("env", env_file, env_str));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:234:32
[INFO] [stdout]     |
[INFO] [stdout] 234 |             let ref env_file = try!(utils::elan_home()).join("env");
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:237:17
[INFO] [stdout]     |
[INFO] [stdout] 237 |                 try!(shell_export_string()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |             try!(common::read_line());
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:263:25
[INFO] [stdout]     |
[INFO] [stdout] 263 |         let elan_home = try!(canonical_elan_home());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:289:13
[INFO] [stdout]     |
[INFO] [stdout] 289 |             try!(common::read_line());
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `env` is imported redundantly
[INFO] [stdout]    --> src/elan-cli/self_update.rs:345:13
[INFO] [stdout]     |
[INFO] [stdout] 39  | use std::env;
[INFO] [stdout]     |     -------- the item `env` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 345 |         use std::env;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:397:21
[INFO] [stdout]     |
[INFO] [stdout] 397 |     let elan_home = try!(utils::elan_home());
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:449:30
[INFO] [stdout]     |
[INFO] [stdout] 449 |     opts.default_toolchain = try!(common::question_str(
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:453:28
[INFO] [stdout]     |
[INFO] [stdout] 453 |     opts.no_modify_path = !try!(common::question_bool(
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:465:5
[INFO] [stdout]     |
[INFO] [stdout] 465 |     try!(utils::ensure_dir_exists("bin", bin_path, &|_| {}));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:471:5
[INFO] [stdout]     |
[INFO] [stdout] 471 |     try!(utils::copy_file(this_exe_path, elan_path));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:472:5
[INFO] [stdout]     |
[INFO] [stdout] 472 |     try!(utils::make_executable(elan_path));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:461:24
[INFO] [stdout]     |
[INFO] [stdout] 461 |     let ref bin_path = try!(utils::elan_home()).join("bin");
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:462:29
[INFO] [stdout]     |
[INFO] [stdout] 462 |     let ref this_exe_path = try!(utils::current_exe());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:469:9
[INFO] [stdout]     |
[INFO] [stdout] 469 |         try!(utils::remove_file("elan-bin", elan_path));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:477:24
[INFO] [stdout]     |
[INFO] [stdout] 477 |     let ref bin_path = try!(utils::elan_home()).join("bin");
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:519:9
[INFO] [stdout]     |
[INFO] [stdout] 519 |         try!(utils::hard_or_symlink_file(elan_path, &path));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:526:19
[INFO] [stdout]     |
[INFO] [stdout] 526 |     let ref cfg = try!(common::set_globals(verbose));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:538:9
[INFO] [stdout]     |
[INFO] [stdout] 538 |         try!(cfg.set_default(toolchain_str));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:540:9
[INFO] [stdout]     |
[INFO] [stdout] 540 |         try!(common::show_channel_update(cfg, toolchain_str, Ok(status)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:535:15
[INFO] [stdout]     |
[INFO] [stdout] 535 |     } else if try!(cfg.find_default()).is_none() {
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:536:25
[INFO] [stdout]     |
[INFO] [stdout] 536 |         let toolchain = try!(cfg.get_toolchain(toolchain_str, false));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:537:22
[INFO] [stdout]     |
[INFO] [stdout] 537 |         let status = try!(toolchain.install_from_dist(false));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:591:5
[INFO] [stdout]     |
[INFO] [stdout] 591 |     try!(do_remove_from_path(remove_path_methods));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:629:5
[INFO] [stdout]     |
[INFO] [stdout] 629 |     try!(delete_elan_and_elan_home());
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:560:9
[INFO] [stdout]     |
[INFO] [stdout] 560 |         try!(Command::new("msiexec")
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:559:28
[INFO] [stdout]     |
[INFO] [stdout] 559 |         let product_code = try!(get_msi_product_code());
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:568:25
[INFO] [stdout]     |
[INFO] [stdout] 568 |     let ref elan_home = try!(utils::elan_home());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:577:43
[INFO] [stdout]     |
[INFO] [stdout] 577 | ...                   elan_home = try!(canonical_elan_home()));
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:579:13
[INFO] [stdout]     |
[INFO] [stdout] 579 |         if !try!(common::confirm("\nContinue? (y/N)", false)) {
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:590:35
[INFO] [stdout]     |
[INFO] [stdout] 590 |     let ref remove_path_methods = try!(get_remove_path_methods());
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:596:19
[INFO] [stdout]     |
[INFO] [stdout] 596 |     for dirent in try!(fs::read_dir(elan_home).chain_err(|| read_dir_err)) {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:597:22
[INFO] [stdout]     |
[INFO] [stdout] 597 |         let dirent = try!(dirent.chain_err(|| read_dir_err));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:600:17
[INFO] [stdout]     |
[INFO] [stdout] 600 |                 try!(utils::remove_dir("elan_home", &dirent.path(), &|_| {}));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:602:17
[INFO] [stdout]     |
[INFO] [stdout] 602 |                 try!(utils::remove_file("elan_home", &dirent.path()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:611:19
[INFO] [stdout]     |
[INFO] [stdout] 611 |     for dirent in try!(fs::read_dir(&elan_home.join("bin")).chain_err(|| read_dir_err)) {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:612:22
[INFO] [stdout]     |
[INFO] [stdout] 612 |         let dirent = try!(dirent.chain_err(|| read_dir_err));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:617:17
[INFO] [stdout]     |
[INFO] [stdout] 617 |                 try!(utils::remove_dir("elan_home", &dirent.path(), &|_| {}));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:619:17
[INFO] [stdout]     |
[INFO] [stdout] 619 |                 try!(utils::remove_file("elan_home", &dirent.path()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:669:5
[INFO] [stdout]     |
[INFO] [stdout] 669 |     try!(utils::remove_dir("elan_home", elan_home, &|_| ()));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:668:25
[INFO] [stdout]     |
[INFO] [stdout] 668 |     let ref elan_home = try!(utils::elan_home());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:922:34
[INFO] [stdout]     |
[INFO] [stdout] 922 |     let path = format!("{}/bin", try!(canonical_elan_home()));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:934:17
[INFO] [stdout]     |
[INFO] [stdout] 934 |                 try!(utils::read_file("rcfile", rcpath))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:938:48
[INFO] [stdout]     |
[INFO] [stdout] 938 |             let ref addition = format!("\n{}", try!(shell_export_string()));
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:940:17
[INFO] [stdout]     |
[INFO] [stdout] 940 |                 try!(utils::append_file("rcfile", rcpath, addition));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/elan-cli/self_update.rs:1049:22
[INFO] [stdout]      |
[INFO] [stdout] 1049 |     let export_str = try!(shell_export_string());
[INFO] [stdout]      |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/elan-cli/self_update.rs:1127:24
[INFO] [stdout]      |
[INFO] [stdout] 1127 |             let file = try!(utils::read_file("rcfile", rcpath));
[INFO] [stdout]      |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/elan-cli/self_update.rs:1128:46
[INFO] [stdout]      |
[INFO] [stdout] 1128 |             let addition = format!("\n{}\n", try!(shell_export_string()));
[INFO] [stdout]      |                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/elan-cli/self_update.rs:1139:17
[INFO] [stdout]      |
[INFO] [stdout] 1139 |                 try!(utils::write_file("rcfile", rcpath, new_file));
[INFO] [stdout]      |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/elan-cli/self_update.rs:1172:22
[INFO] [stdout]      |
[INFO] [stdout] 1172 |     let setup_path = try!(prepare_update());
[INFO] [stdout]      |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/elan-cli/self_update.rs:1183:9
[INFO] [stdout]      |
[INFO] [stdout] 1183 |         try!(run_update(p));
[INFO] [stdout]      |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/elan-cli/self_update.rs:1256:5
[INFO] [stdout]      |
[INFO] [stdout] 1256 |     try!(utils::download_file(&download_url,
[INFO] [stdout]      |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/elan-cli/self_update.rs:1273:5
[INFO] [stdout]      |
[INFO] [stdout] 1273 |     try!(utils::make_executable(setup_path));
[INFO] [stdout]      |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/elan-cli/self_update.rs:1213:25
[INFO] [stdout]      |
[INFO] [stdout] 1213 |     let ref elan_home = try!(utils::elan_home());
[INFO] [stdout]      |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/elan-cli/self_update.rs:1222:9
[INFO] [stdout]      |
[INFO] [stdout] 1222 |         try!(utils::remove_file("setup", setup_path));
[INFO] [stdout]      |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/elan-cli/self_update.rs:1228:19
[INFO] [stdout]      |
[INFO] [stdout] 1228 |     let tempdir = try!(tempdir()
[INFO] [stdout]      |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/elan-cli/self_update.rs:1252:24
[INFO] [stdout]      |
[INFO] [stdout] 1252 |     let download_url = try!(utils::parse_url(&url));
[INFO] [stdout]      |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/elan-cli/self_update.rs:1288:18
[INFO] [stdout]      |
[INFO] [stdout] 1288 |     let status = try!(Command::new(setup_path)
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/elan-cli/self_update.rs:1314:5
[INFO] [stdout]      |
[INFO] [stdout] 1314 |     try!(install_bins());
[INFO] [stdout]      |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/elan-cli/self_update.rs:1328:21
[INFO] [stdout]      |
[INFO] [stdout] 1328 |     let elan_home = try!(utils::elan_home());
[INFO] [stdout]      |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/elan-cli/self_update.rs:1332:9
[INFO] [stdout]      |
[INFO] [stdout] 1332 |         try!(utils::remove_file("setup", setup));
[INFO] [stdout]      |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/elan-cli/self_update.rs:1339:9
[INFO] [stdout]      |
[INFO] [stdout] 1339 |         try!(utils::remove_file("setup", old_setup));
[INFO] [stdout]      |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan-cli/term2.rs:42:35
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct Terminal<T>(Option<Box<term::Terminal<Output = T> + Send>>)
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn term::Terminal<Output = T> + Send`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `time::precise_time_s`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]  --> src/elan-cli/download_tracker.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use time::precise_time_s;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `time::precise_time_s`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]   --> src/elan-cli/download_tracker.rs:83:28
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let current_time = precise_time_s();
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/elan-cli/self_update.rs:356:37
[INFO] [stdout]     |
[INFO] [stdout] 356 |         let mut pwd = unsafe { mem::uninitialized::<c::passwd>() };
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^
[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/elan-cli/common.rs:247:48
[INFO] [stdout]     |
[INFO] [stdout] 247 | ...                   let lineend = line.trim_right_matches(&['\r', '\n'][..]).len();
[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/elan-cli/elan_mode.rs:372:42
[INFO] [stdout]     |
[INFO] [stdout] 372 |                 if let Some(cause) = err.cause() {
[INFO] [stdout]     |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 159 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 51.47s
[INFO] running `Command { std: "docker" "inspect" "48a89bcd4aca3e7046e601003a27497d382ae5f74ce40b3e2be890f1d5876a1b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "48a89bcd4aca3e7046e601003a27497d382ae5f74ce40b3e2be890f1d5876a1b", kill_on_drop: false }`
[INFO] [stdout] 48a89bcd4aca3e7046e601003a27497d382ae5f74ce40b3e2be890f1d5876a1b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-86/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-86/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e5ccf7e73d1cab0dd00484a3e52ad5c63978d678bdd0483397cf577fd95c9ee4
[INFO] running `Command { std: "docker" "start" "-a" "e5ccf7e73d1cab0dd00484a3e52ad5c63978d678bdd0483397cf577fd95c9ee4", kill_on_drop: false }`
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> build.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Ok(try!(String::from_utf8(try!(Command::new("git")
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> build.rs:38:31
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Ok(try!(String::from_utf8(try!(Command::new("git")
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> build.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 |     Ok(try!(String::from_utf8(try!(Command::new("git")
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> build.rs:45:31
[INFO] [stdout]    |
[INFO] [stdout] 45 |     Ok(try!(String::from_utf8(try!(Command::new("git")
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]   --> build.rs:32:58
[INFO] [stdout]    |
[INFO] [stdout] 32 |         (Ok(hash), Ok(date)) => format!(" ({} {})", hash.trim_right(), date),
[INFO] [stdout]    |                                                          ^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/download/src/lib.rs:34:37
[INFO] [stdout]    |
[INFO] [stdout] 34 |                          callback: &Fn(Event) -> Result<()>)
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Event) -> Result<()>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/download/src/lib.rs:47:23
[INFO] [stdout]    |
[INFO] [stdout] 47 |     callback: Option<&Fn(Event) -> Result<()>>)
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Event) -> Result<()>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         try!(download_with_backend(backend, url, resume_from, &|event| {
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         try!(file.borrow_mut().sync_data()
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/download/src/lib.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |             try!(possible_partial.seek(SeekFrom::End(0)));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/download/src/lib.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |                     try!(cb(Event::ResumingPartialDownload));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/download/src/lib.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |                         try!(cb(Event::DownloadDataReceived(&buf[..n])));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/download/src/lib.rs:67:33
[INFO] [stdout]    |
[INFO] [stdout] 67 |                         let n = try!(partial.read(&mut buf));
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/download/src/lib.rs:77:37
[INFO] [stdout]    |
[INFO] [stdout] 77 |                     let file_info = try!(partial.metadata());
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/download/src/lib.rs:85:17
[INFO] [stdout]    |
[INFO] [stdout] 85 |                 try!(OpenOptions::new()
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/download/src/lib.rs:95:14
[INFO] [stdout]    |
[INFO] [stdout] 95 |             (try!(OpenOptions::new()
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 try!(file.borrow_mut().write_all(data)
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/download/src/lib.rs:146:32
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     callback: &Fn(Event) -> Result<()> )
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Event) -> Result<()>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |             try!(handle.url(&url.to_string()).chain_err(|| "failed to set url"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |             try!(handle.follow_location(true).chain_err(|| "failed to set follow redirects"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |             try!(handle.connect_timeout(Duration::new(30, 0)).chain_err(|| "failed to set connect timeout"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 |                 try!(handle.resume_from(resume_from)
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:178:17
[INFO] [stdout]     |
[INFO] [stdout] 178 |                 try!(transfer.write_function(|data| {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:190:17
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 try!(transfer.header_function(|header| {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:211:17
[INFO] [stdout]     |
[INFO] [stdout] 211 |                 try!(transfer.perform().or_else(|e| {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/download/src/lib.rs:229:24
[INFO] [stdout]     |
[INFO] [stdout] 229 |             let code = try!(handle.response_code().chain_err(|| "failed to get response code"));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/download/src/lib.rs:231:25
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 0 | 200 ... 299 => {},
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` 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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/download/src/lib.rs:387:33
[INFO] [stdout]     |
[INFO] [stdout] 387 |                     _callback: &Fn(Event) -> Result<()> )
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Event) -> Result<()>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 23 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-utils/src/raw.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     try!(io::Write::write_all(&mut file, contents.as_bytes()));
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-utils/src/raw.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     try!(file.sync_data());
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-utils/src/raw.rs:54:20
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let mut file = try!(fs::OpenOptions::new()
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-utils/src/raw.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     try!(io::Read::read_to_string(&mut file, &mut contents));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-utils/src/raw.rs:68:20
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let mut file = try!(fs::OpenOptions::new()
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-utils/src/raw.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     try!(writer.flush());
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-utils/src/raw.rs:83:20
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let src_file = try!(fs::File::open(src));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-utils/src/raw.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let dest_file = try!(fs::File::create(dest));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-utils/src/raw.rs:91:20
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let line = try!(result);
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-utils/src/raw.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |             try!(writeln!(&mut writer, "{}", &line));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:105:20
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let src_file = try!(fs::File::open(src));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:110:20
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let line = try!(result);
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     try!(writeln!(&mut dest_file, "{}", line));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     try!(dest_file.sync_data());
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let mut dest_file = try!(fs::OpenOptions::new()
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:134:20
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let mut file = try!(fs::OpenOptions::new()
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:142:26
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let bytes_read = try!(io::Read::read(&mut file, &mut buffer));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |             try!(io::Write::write_all(w, &mut buffer[0..bytes_read]));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:278:32
[INFO] [stdout]     |
[INFO] [stdout] 278 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:307:8
[INFO] [stdout]     |
[INFO] [stdout] 307 |     if try!(fs::symlink_metadata(path)).file_type().is_symlink() {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:323:5
[INFO] [stdout]     |
[INFO] [stdout] 323 |     try!(fs::create_dir(dest));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:324:18
[INFO] [stdout]     |
[INFO] [stdout] 324 |     for entry in try!(src.read_dir()) {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:325:21
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let entry = try!(entry);
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:326:20
[INFO] [stdout]     |
[INFO] [stdout] 326 |         let kind = try!(entry.file_type());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:330:13
[INFO] [stdout]     |
[INFO] [stdout] 330 |             try!(copy_dir(&src, &dest));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/raw.rs:332:13
[INFO] [stdout]     |
[INFO] [stdout] 332 |             try!(fs::copy(&src, &dest));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `libc` is imported redundantly
[INFO] [stdout]   --> src/elan-utils/src/tty.rs:4:9
[INFO] [stdout]    |
[INFO] [stdout] 4  |     use libc;
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/elan-utils/src/lib.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | extern crate libc;
[INFO] [stdout]    | ------------------ the item `libc` is already imported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `libc` is imported redundantly
[INFO] [stdout]   --> src/elan-utils/src/tty.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     use libc;
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/elan-utils/src/lib.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | extern crate libc;
[INFO] [stdout]    | ------------------ the item `libc` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan-utils/src/utils.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 |                          notify_handler: &Fn(Notification))
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:128:56
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub fn canonicalize_path(path: &Path, notify_handler: &Fn(Notification)) -> PathBuf {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:147:39
[INFO] [stdout]     |
[INFO] [stdout] 147 |                      notify_handler: &Fn(Notification))
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:156:39
[INFO] [stdout]     |
[INFO] [stdout] 156 |                      notify_handler: &Fn(Notification))
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:164:58
[INFO] [stdout]     |
[INFO] [stdout] 164 |                 &ErrorKind::Download(DEK::HttpStatus(400 ... 499)) => true,
[INFO] [stdout]     |                                                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` 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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:242:5
[INFO] [stdout]     |
[INFO] [stdout] 242 |     try!(download_to_path_with_backend(backend, url, path, resume_from_partial, Some(callback)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:189:36
[INFO] [stdout]     |
[INFO] [stdout] 189 |                   notify_handler: &Fn(Notification))
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Digest` is imported redundantly
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 9   | use sha2::{Digest, Sha256};
[INFO] [stdout]     |            ------ the item `Digest` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 192 |     use sha2::Digest;
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `download` is imported redundantly
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:195:20
[INFO] [stdout]     |
[INFO] [stdout] 195 |     use download::{self, Event, Backend};
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/elan-utils/src/lib.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout] 10  | extern crate download;
[INFO] [stdout]     | ---------------------- the item `download` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:203:20
[INFO] [stdout]     |
[INFO] [stdout] 203 |     let callback: &Fn(Event) -> download::Result<()> = &|msg| {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Event) -> download::Result<()>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:277:62
[INFO] [stdout]     |
[INFO] [stdout] 277 | pub fn symlink_dir(src: &Path, dest: &Path, notify_handler: &Fn(Notification)) -> Result<()> {
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:323:59
[INFO] [stdout]     |
[INFO] [stdout] 323 | pub fn copy_dir(src: &Path, dest: &Path, notify_handler: &Fn(Notification)) -> Result<()> {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:344:69
[INFO] [stdout]     |
[INFO] [stdout] 344 | pub fn remove_dir(name: &'static str, path: &Path, notify_handler: &Fn(Notification)) -> Result<()> {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:407:24
[INFO] [stdout]     |
[INFO] [stdout] 407 |         let metadata = try!(fs::metadata(path).chain_err(|| {
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:444:15
[INFO] [stdout]     |
[INFO] [stdout] 444 |     let cwd = try!(env::current_dir().chain_err(|| ErrorKind::ElanHome));
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/elan-utils/src/utils.rs:8:37
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::atomic::{AtomicBool, ATOMIC_BOOL_INIT, Ordering};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/elan-utils/src/utils.rs:183:46
[INFO] [stdout]     |
[INFO] [stdout] 183 | static DEPRECATED_HYPER_WARNED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]  --> src/elan-utils/src/utils.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use sha2::{Digest, Sha256};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 46 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan-dist/src/temp.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 |     notify_handler: Box<Fn(Notification)>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-dist/src/temp.rs:108:32
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan-dist/src/temp.rs:136:61
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn new(root_directory: PathBuf, notify_handler: Box<Fn(Notification)>) -> Self {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-dist/src/temp.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |         try!(self.create_root());
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-dist/src/temp.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 try!(fs::create_dir(&temp_dir).map_err(|e| {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-dist/src/temp.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |         try!(self.create_root());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-dist/src/temp.rs:197:17
[INFO] [stdout]     |
[INFO] [stdout] 197 |                 try!(fs::File::create(&temp_file).map_err(|e| {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/dist.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         try!(write!(f, "{}", &self.channel));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/dist.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |             try!(write!(f, "{}-", str::replace(origin, "/", "-")));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/dist.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |             try!(write!(f, "-{}", date));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-dist/src/dist.rs:160:25
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let manifestation = try!(Manifestation::open(prefix.clone()));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/component/package.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let entries = try!(archive.entries().chain_err(|| ErrorKind::ExtractingPackage));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/component/package.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         try!(entry.unpack(&full_path).chain_err(|| ErrorKind::ExtractingPackage));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/component/package.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut entry = try!(entry.chain_err(|| ErrorKind::ExtractingPackage));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/component/package.rs:37:24
[INFO] [stdout]    |
[INFO] [stdout] 37 |             let path = try!(path.chain_err(|| ErrorKind::ExtractingPackage));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/component/package.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |                 try!(::std::fs::create_dir_all(&parent).chain_err(|| ErrorKind::ExtractingPackage)),
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/component/package.rs:75:20
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let file = try!(File::open(path).chain_err(|| ErrorKind::ExtractingPackage));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/component/package.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |                     try!(fs::create_dir_all(&parent).chain_err(|| ErrorKind::ExtractingPackage)),
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-dist/src/component/package.rs:131:20
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let file = try!(File::open(path).chain_err(|| ErrorKind::ExtractingPackage));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan-dist/src/manifestation.rs:26:36
[INFO] [stdout]    |
[INFO] [stdout] 26 |                   notify_handler: &Fn(Notification)) -> Result<()> {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/manifestation.rs:63:30
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let installer_file = try!(dlcfg.download_and_check(&url, ext));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan-dist/src/download.rs:19:29
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub notify_handler: &'a Fn(Notification),
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/download.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         try!(utils::ensure_dir_exists("Download Directory", &self.download_dir, &|n| (self.notify_handler)(n.into())));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/download.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |         try!(utils::download_file_with_resume(&url,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/download.rs:48:33
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let cached_result = try!(file_hash(&target_file));
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/download.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 try!(fs::remove_file(&target_file).chain_err(|| "cleaning up previous download"));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/download.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |             try!(fs::rename(&partial_file_path, &target_file));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/download.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 |                 try!(fs::remove_file(used_file).chain_err(|| "cleaning up cached downloads"));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-dist/src/download.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         try!(utils::download_file(&url,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-dist/src/download.rs:106:19
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let url = try!(utils::parse_url(url_str));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-dist/src/download.rs:107:20
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let file = try!(self.temp_cfg.new_file_with_ext("", ext));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan-dist/src/download.rs:122:26
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let mut downloaded = try!(fs::File::open(&path).chain_err(|| "opening already downloaded file"));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/manifest.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 26 |             pkg: try!(get_string(&mut table, "pkg", path)),
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/config.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let version = try!(get_string(&mut table, "config_version", path));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/config.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let components = try!(get_array(&mut table, "components", path));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/config.rs:24:26
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let components = try!(Self::toml_to_components(components,
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan-dist/src/config.rs:58:29
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 result.push(try!(Component::from_toml(t, &path)));
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 37 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]   --> src/elan/toolchain.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use regex::Regex;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan/toolchain.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 |     dist_handler: Box<Fn(elan_dist::Notification) + 'a>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(elan_dist::Notification) + 'a`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/toolchain.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 |         Ok(try!(ToolchainDesc::from_str(&self.name)))
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/toolchain.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |         Ok(try!(utils::assert_is_directory(&self.path)))
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |             try!(utils::remove_file("update hash", &update_hash));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/toolchain.rs:99:36
[INFO] [stdout]    |
[INFO] [stdout] 99 |         if let Some(update_hash) = try!(self.update_hash()) {
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 107 |         Ok(try!(result))
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:118:23
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let updated = try!(install_method.run(&self.path,
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:139:16
[INFO] [stdout]     |
[INFO] [stdout] 139 |             Ok(try!(self.install(install_method)))
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 |             Ok(Some(try!(self.cfg.get_hash_file(&self.dir_name, true))))
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 |         if try!(self.cfg.telemetry_enabled()) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:169:27
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let update_hash = try!(self.update_hash());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:170:43
[INFO] [stdout]     |
[INFO] [stdout] 170 |         self.install(InstallMethod::Dist(&try!(self.desc()),
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:203:27
[INFO] [stdout]     |
[INFO] [stdout] 203 |         let update_hash = try!(self.update_hash());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:204:60
[INFO] [stdout]     |
[INFO] [stdout] 204 |         self.install_if_not_installed(InstallMethod::Dist(&try!(self.desc()),
[INFO] [stdout]     |                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 217 |         try!(utils::assert_is_directory(&pathbuf));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:219:9
[INFO] [stdout]     |
[INFO] [stdout] 219 |         try!(utils::assert_is_file(&pathbuf));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:222:13
[INFO] [stdout]     |
[INFO] [stdout] 222 |             try!(self.install(InstallMethod::Link(&try!(utils::to_absolute(src)))));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:222:52
[INFO] [stdout]     |
[INFO] [stdout] 222 |             try!(self.install(InstallMethod::Link(&try!(utils::to_absolute(src)))));
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |             try!(self.install(InstallMethod::Copy(src)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:306:9
[INFO] [stdout]     |
[INFO] [stdout] 306 |         try!(self.verify());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:318:9
[INFO] [stdout]     |
[INFO] [stdout] 318 |         try!(self.verify());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:320:12
[INFO] [stdout]     |
[INFO] [stdout] 320 |         Ok(try!(utils::open_browser(&try!(self.doc_path(relative)))))
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:320:38
[INFO] [stdout]     |
[INFO] [stdout] 320 |         Ok(try!(utils::open_browser(&try!(self.doc_path(relative)))))
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/toolchain.rs:327:12
[INFO] [stdout]     |
[INFO] [stdout] 327 |         Ok(try!(self.cfg.settings_file.with_mut(|s| {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan/config.rs:52:29
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub notify_handler: Arc<Fn(Notification)>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/config.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         try!(utils::ensure_dir_exists("home", &elan_dir,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan/config.rs:56:41
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn from_env(notify_handler: Arc<Fn(Notification)>) -> Result<Self> {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/config.rs:58:24
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let elan_dir = try!(utils::elan_home());
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         try!(self.settings_file.with_mut(|s| {
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |             try!(utils::ensure_dir_exists("toolchains",
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |         try!(toolchain.verify());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:121:25
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let toolchain = try!(self.get_toolchain(name, false));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |             try!(utils::ensure_dir_exists("update-hash",
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:138:39
[INFO] [stdout]     |
[INFO] [stdout] 138 |         if let Some((toolchain, _)) = try!(self.find_override_toolchain_or_default(path)) {
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:146:24
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let opt_name = try!(self.settings_file.with(|s| Ok(s.default_toolchain.clone())));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:149:29
[INFO] [stdout]     |
[INFO] [stdout] 149 |             let toolchain = try!(self.verify_toolchain(&name)
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:202:25
[INFO] [stdout]     |
[INFO] [stdout] 202 |                         try!(toolchain.install_from_dist(false));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:267:47
[INFO] [stdout]     |
[INFO] [stdout] 267 |         Ok(if let Some((toolchain, reason)) = try!(self.find_override(path)) {
[INFO] [stdout]     |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:270:13
[INFO] [stdout]     |
[INFO] [stdout] 270 |             try!(self.find_default()).map(|toolchain| (toolchain, None))
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:286:42
[INFO] [stdout]     |
[INFO] [stdout] 286 |             let mut toolchains: Vec<_> = try!(utils::read_dir("toolchains", &self.toolchains_dir))
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:302:26
[INFO] [stdout]     |
[INFO] [stdout] 302 |         let toolchains = try!(self.list_toolchains());
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:335:34
[INFO] [stdout]     |
[INFO] [stdout] 335 |         let (ref toolchain, _) = try!(self.toolchain_for_dir(path));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:342:29
[INFO] [stdout]     |
[INFO] [stdout] 342 |         let ref toolchain = try!(self.get_toolchain(toolchain, false));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:344:13
[INFO] [stdout]     |
[INFO] [stdout] 344 |             try!(toolchain.install_from_dist(false));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:351:30
[INFO] [stdout]     |
[INFO] [stdout] 351 |         let (toolchain, _) = try!(self.toolchain_for_dir(path));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:356:30
[INFO] [stdout]     |
[INFO] [stdout] 356 |         let (toolchain, _) = try!(self.toolchain_for_dir(path));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout] 365 |         try!(self.settings_file.with_mut(|s| {
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:379:9
[INFO] [stdout]     |
[INFO] [stdout] 379 |         try!(self.settings_file.with_mut(|s| {
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:390:18
[INFO] [stdout]     |
[INFO] [stdout] 390 |         Ok(match try!(self.settings_file.with(|s| Ok(s.telemetry))) {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:400:9
[INFO] [stdout]     |
[INFO] [stdout] 400 |         try!(t.analyze_telemetry_events(&events));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/config.rs:399:22
[INFO] [stdout]     |
[INFO] [stdout] 399 |         let events = try!(t.import_telemery());
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan/install.rs:21:52
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn run(self, path: &Path, notify_handler: &Fn(Notification)) -> Result<bool> {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/install.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |                     try!(uninstall(path, notify_handler));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/install.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 try!(utils::copy_dir(src, path, &|n| notify_handler(n.into())));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/install.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 try!(utils::symlink_dir(src, &path, &|n| notify_handler(n.into())));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/install.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |                     try!(dist::update_from_dist(
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/install.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 |                         try!(utils::write_file("update hash", hash_file, &hash));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan/install.rs:68:48
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn uninstall(path: &Path, notify_handler: &Fn(Notification)) -> Result<()> {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/install.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 |     Ok(try!(utils::remove_dir("install", path,
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/settings.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         try!(utils::write_file("settings", &self.path, &s.stringify()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/settings.rs:39:21
[INFO] [stdout]    |
[INFO] [stdout] 39 |                     try!(Settings::parse(&content))
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/settings.rs:38:35
[INFO] [stdout]    |
[INFO] [stdout] 38 |                     let content = try!(utils::read_file("settings", &self.path));
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/settings.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |             try!(self.write_settings());
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/settings.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         try!(self.read_settings());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/settings.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         try!(self.read_settings());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/settings.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         try!(self.write_settings());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/settings.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |             try!(f(self.cache.borrow_mut().as_mut().unwrap()))
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/elan/settings.rs:96:50
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn path_to_key(path: &Path, notify_handler: &Fn(Notification)) -> String {
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan/settings.rs:104:69
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn remove_override(&mut self, path: &Path, notify_handler: &Fn(Notification)) -> bool {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan/settings.rs:109:85
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn add_override(&mut self, path: &Path, toolchain: String, notify_handler: &Fn(Notification)) {
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/elan/settings.rs:115:61
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn dir_override(&self, dir: &Path, notify_handler: &Fn(Notification)) -> Option<String> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/settings.rs:129:23
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let version = try!(get_string(&mut table, "version", path));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/settings.rs:135:32
[INFO] [stdout]     |
[INFO] [stdout] 135 |             default_toolchain: try!(get_opt_string(&mut table, "default_toolchain", path)),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/settings.rs:136:24
[INFO] [stdout]     |
[INFO] [stdout] 136 |             overrides: try!(Self::table_to_overrides(&mut table, path)),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/settings.rs:137:27
[INFO] [stdout]     |
[INFO] [stdout] 137 |             telemetry: if try!(get_opt_bool(&mut table, "telemetry", path)).unwrap_or(false) {
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/settings.rs:165:25
[INFO] [stdout]     |
[INFO] [stdout] 165 |         let pkg_table = try!(get_table(table, "overrides", path));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `time`
[INFO] [stdout]  --> src/elan/telemetry.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use time;
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `raw`, `utils`
[INFO] [stdout]  --> src/elan/telemetry.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use elan_utils::{raw, utils};
[INFO] [stdout]   |                  ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json`
[INFO] [stdout]  --> src/elan/telemetry.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde_json;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/telemetry.rs:49:24
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let contents = try!(telemetry_dir_contents.chain_err(|| ErrorKind::TelemetryCleanupError));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/telemetry.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |             try!(fs::remove_file(&telemetry_files[i]).chain_err(|| ErrorKind::TelemetryCleanupError));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/elan/command.rs:20:50
[INFO] [stdout]    |
[INFO] [stdout] 20 |     if (arg0 == "lean" || arg0 == "lean.exe") && try!(cfg.telemetry_enabled()) {
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `libc` is imported redundantly
[INFO] [stdout]    --> src/elan/command.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 163 |     use libc;
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/elan/lib.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout] 17  | extern crate libc;
[INFO] [stdout]     | ------------------ the item `libc` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/telemetry_analysis.rs:119:24
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let contents = try!(self.telemetry_dir.read_dir().chain_err(|| ErrorKind::TelemetryAnalysisError));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/elan/telemetry_analysis.rs:142:17
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let f = try!(File::open(&path).chain_err(|| ErrorKind::TelemetryAnalysisError));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]   --> src/elan/telemetry.rs:42:33
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn log_telemetry(&self, event: TelemetryEvent) -> Result<()> {
[INFO] [stdout]    |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.31s
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/elan/toolchain.rs:340:21
[INFO] [stdout]     |
[INFO] [stdout] 340 |                 let mut ext = EXE_SUFFIX;
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `LOG_FILE_VERSION`
[INFO] [stdout]   --> src/elan/telemetry.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | const LOG_FILE_VERSION: i32 = 1;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 89 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e5ccf7e73d1cab0dd00484a3e52ad5c63978d678bdd0483397cf577fd95c9ee4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e5ccf7e73d1cab0dd00484a3e52ad5c63978d678bdd0483397cf577fd95c9ee4", kill_on_drop: false }`
[INFO] [stdout] e5ccf7e73d1cab0dd00484a3e52ad5c63978d678bdd0483397cf577fd95c9ee4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-86/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-86/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 62a9b8815e2bd58147e967e5413e4dac57ce305808aa5cfe242f97cd3efaa96a
[INFO] running `Command { std: "docker" "start" "-a" "62a9b8815e2bd58147e967e5413e4dac57ce305808aa5cfe242f97cd3efaa96a", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> build.rs:38:8
[INFO] [stderr]    |
[INFO] [stderr] 38 |     Ok(try!(String::from_utf8(try!(Command::new("git")
[INFO] [stderr]    |        ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> build.rs:38:31
[INFO] [stderr]    |
[INFO] [stderr] 38 |     Ok(try!(String::from_utf8(try!(Command::new("git")
[INFO] [stderr]    |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> build.rs:45:8
[INFO] [stderr]    |
[INFO] [stderr] 45 |     Ok(try!(String::from_utf8(try!(Command::new("git")
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> build.rs:45:31
[INFO] [stderr]    |
[INFO] [stderr] 45 |     Ok(try!(String::from_utf8(try!(Command::new("git")
[INFO] [stderr]    |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stderr]   --> build.rs:32:58
[INFO] [stderr]    |
[INFO] [stderr] 32 |         (Ok(hash), Ok(date)) => format!(" ({} {})", hash.trim_right(), date),
[INFO] [stderr]    |                                                          ^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end`
[INFO] [stderr] 
[INFO] [stderr] warning: `elan` (build script) generated 5 warnings
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/download/src/lib.rs:34:37
[INFO] [stderr]    |
[INFO] [stderr] 34 |                          callback: &Fn(Event) -> Result<()>)
[INFO] [stderr]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Event) -> Result<()>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/download/src/lib.rs:47:23
[INFO] [stderr]    |
[INFO] [stderr] 47 |     callback: Option<&Fn(Event) -> Result<()>>)
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Event) -> Result<()>`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/download/src/lib.rs:104:9
[INFO] [stderr]     |
[INFO] [stderr] 104 |         try!(download_with_backend(backend, url, resume_from, &|event| {
[INFO] [stderr]     |         ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/download/src/lib.rs:115:9
[INFO] [stderr]     |
[INFO] [stderr] 115 |         try!(file.borrow_mut().sync_data()
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/download/src/lib.rs:91:13
[INFO] [stderr]    |
[INFO] [stderr] 91 |             try!(possible_partial.seek(SeekFrom::End(0)));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/download/src/lib.rs:62:21
[INFO] [stderr]    |
[INFO] [stderr] 62 |                     try!(cb(Event::ResumingPartialDownload));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/download/src/lib.rs:72:25
[INFO] [stderr]    |
[INFO] [stderr] 72 |                         try!(cb(Event::DownloadDataReceived(&buf[..n])));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/download/src/lib.rs:67:33
[INFO] [stderr]    |
[INFO] [stderr] 67 |                         let n = try!(partial.read(&mut buf));
[INFO] [stderr]    |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/download/src/lib.rs:77:37
[INFO] [stderr]    |
[INFO] [stderr] 77 |                     let file_info = try!(partial.metadata());
[INFO] [stderr]    |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/download/src/lib.rs:85:17
[INFO] [stderr]    |
[INFO] [stderr] 85 |                 try!(OpenOptions::new()
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/download/src/lib.rs:95:14
[INFO] [stderr]    |
[INFO] [stderr] 95 |             (try!(OpenOptions::new()
[INFO] [stderr]    |              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/download/src/lib.rs:106:17
[INFO] [stderr]     |
[INFO] [stderr] 106 |                 try!(file.borrow_mut().write_all(data)
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/download/src/lib.rs:146:32
[INFO] [stderr]     |
[INFO] [stderr] 146 |                     callback: &Fn(Event) -> Result<()> )
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Event) -> Result<()>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/download/src/lib.rs:156:13
[INFO] [stderr]     |
[INFO] [stderr] 156 |             try!(handle.url(&url.to_string()).chain_err(|| "failed to set url"));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/download/src/lib.rs:157:13
[INFO] [stderr]     |
[INFO] [stderr] 157 |             try!(handle.follow_location(true).chain_err(|| "failed to set follow redirects"));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/download/src/lib.rs:169:13
[INFO] [stderr]     |
[INFO] [stderr] 169 |             try!(handle.connect_timeout(Duration::new(30, 0)).chain_err(|| "failed to set connect timeout"));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/download/src/lib.rs:160:17
[INFO] [stderr]     |
[INFO] [stderr] 160 |                 try!(handle.resume_from(resume_from)
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/download/src/lib.rs:178:17
[INFO] [stderr]     |
[INFO] [stderr] 178 |                 try!(transfer.write_function(|data| {
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/download/src/lib.rs:190:17
[INFO] [stderr]     |
[INFO] [stderr] 190 |                 try!(transfer.header_function(|header| {
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/download/src/lib.rs:211:17
[INFO] [stderr]     |
[INFO] [stderr] 211 |                 try!(transfer.perform().or_else(|e| {
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/download/src/lib.rs:229:24
[INFO] [stderr]     |
[INFO] [stderr] 229 |             let code = try!(handle.response_code().chain_err(|| "failed to get response code"));
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/download/src/lib.rs:231:25
[INFO] [stderr]     |
[INFO] [stderr] 231 |                 0 | 200 ... 299 => {},
[INFO] [stderr]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/download/src/lib.rs:387:33
[INFO] [stderr]     |
[INFO] [stderr] 387 |                     _callback: &Fn(Event) -> Result<()> )
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Event) -> Result<()>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `download` (lib) generated 23 warnings
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-utils/src/raw.rs:60:5
[INFO] [stderr]    |
[INFO] [stderr] 60 |     try!(io::Write::write_all(&mut file, contents.as_bytes()));
[INFO] [stderr]    |     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-utils/src/raw.rs:62:5
[INFO] [stderr]    |
[INFO] [stderr] 62 |     try!(file.sync_data());
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-utils/src/raw.rs:54:20
[INFO] [stderr]    |
[INFO] [stderr] 54 |     let mut file = try!(fs::OpenOptions::new()
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-utils/src/raw.rs:74:5
[INFO] [stderr]    |
[INFO] [stderr] 74 |     try!(io::Read::read_to_string(&mut file, &mut contents));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-utils/src/raw.rs:68:20
[INFO] [stderr]    |
[INFO] [stderr] 68 |     let mut file = try!(fs::OpenOptions::new()
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-utils/src/raw.rs:99:5
[INFO] [stderr]    |
[INFO] [stderr] 99 |     try!(writer.flush());
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-utils/src/raw.rs:83:20
[INFO] [stderr]    |
[INFO] [stderr] 83 |     let src_file = try!(fs::File::open(src));
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-utils/src/raw.rs:84:21
[INFO] [stderr]    |
[INFO] [stderr] 84 |     let dest_file = try!(fs::File::create(dest));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-utils/src/raw.rs:91:20
[INFO] [stderr]    |
[INFO] [stderr] 91 |         let line = try!(result);
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-utils/src/raw.rs:93:13
[INFO] [stderr]    |
[INFO] [stderr] 93 |             try!(writeln!(&mut writer, "{}", &line));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-utils/src/raw.rs:105:20
[INFO] [stderr]     |
[INFO] [stderr] 105 |     let src_file = try!(fs::File::open(src));
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-utils/src/raw.rs:110:20
[INFO] [stderr]     |
[INFO] [stderr] 110 |         let line = try!(result);
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-utils/src/raw.rs:126:5
[INFO] [stderr]     |
[INFO] [stderr] 126 |     try!(writeln!(&mut dest_file, "{}", line));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-utils/src/raw.rs:128:5
[INFO] [stderr]     |
[INFO] [stderr] 128 |     try!(dest_file.sync_data());
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-utils/src/raw.rs:120:25
[INFO] [stderr]     |
[INFO] [stderr] 120 |     let mut dest_file = try!(fs::OpenOptions::new()
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-utils/src/raw.rs:134:20
[INFO] [stderr]     |
[INFO] [stderr] 134 |     let mut file = try!(fs::OpenOptions::new()
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-utils/src/raw.rs:142:26
[INFO] [stderr]     |
[INFO] [stderr] 142 |         let bytes_read = try!(io::Read::read(&mut file, &mut buffer));
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-utils/src/raw.rs:145:13
[INFO] [stderr]     |
[INFO] [stderr] 145 |             try!(io::Write::write_all(w, &mut buffer[0..bytes_read]));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/elan-utils/src/raw.rs:278:32
[INFO] [stderr]     |
[INFO] [stderr] 278 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]     |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-utils/src/raw.rs:307:8
[INFO] [stderr]     |
[INFO] [stderr] 307 |     if try!(fs::symlink_metadata(path)).file_type().is_symlink() {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-utils/src/raw.rs:323:5
[INFO] [stderr]     |
[INFO] [stderr] 323 |     try!(fs::create_dir(dest));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-utils/src/raw.rs:324:18
[INFO] [stderr]     |
[INFO] [stderr] 324 |     for entry in try!(src.read_dir()) {
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-utils/src/raw.rs:325:21
[INFO] [stderr]     |
[INFO] [stderr] 325 |         let entry = try!(entry);
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-utils/src/raw.rs:326:20
[INFO] [stderr]     |
[INFO] [stderr] 326 |         let kind = try!(entry.file_type());
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-utils/src/raw.rs:330:13
[INFO] [stderr]     |
[INFO] [stderr] 330 |             try!(copy_dir(&src, &dest));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-utils/src/raw.rs:332:13
[INFO] [stderr]     |
[INFO] [stderr] 332 |             try!(fs::copy(&src, &dest));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the item `libc` is imported redundantly
[INFO] [stderr]   --> src/elan-utils/src/tty.rs:4:9
[INFO] [stderr]    |
[INFO] [stderr] 4  |     use libc;
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/elan-utils/src/lib.rs:22:1
[INFO] [stderr]    |
[INFO] [stderr] 22 | extern crate libc;
[INFO] [stderr]    | ------------------ the item `libc` is already imported here
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the item `libc` is imported redundantly
[INFO] [stderr]   --> src/elan-utils/src/tty.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |     use libc;
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/elan-utils/src/lib.rs:22:1
[INFO] [stderr]    |
[INFO] [stderr] 22 | extern crate libc;
[INFO] [stderr]    | ------------------ the item `libc` is already imported here
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/elan-utils/src/utils.rs:25:43
[INFO] [stderr]    |
[INFO] [stderr] 25 |                          notify_handler: &Fn(Notification))
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/elan-utils/src/utils.rs:128:56
[INFO] [stderr]     |
[INFO] [stderr] 128 | pub fn canonicalize_path(path: &Path, notify_handler: &Fn(Notification)) -> PathBuf {
[INFO] [stderr]     |                                                        ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/elan-utils/src/utils.rs:147:39
[INFO] [stderr]     |
[INFO] [stderr] 147 |                      notify_handler: &Fn(Notification))
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/elan-utils/src/utils.rs:156:39
[INFO] [stderr]     |
[INFO] [stderr] 156 |                      notify_handler: &Fn(Notification))
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/elan-utils/src/utils.rs:164:58
[INFO] [stderr]     |
[INFO] [stderr] 164 |                 &ErrorKind::Download(DEK::HttpStatus(400 ... 499)) => true,
[INFO] [stderr]     |                                                          ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-utils/src/utils.rs:242:5
[INFO] [stderr]     |
[INFO] [stderr] 242 |     try!(download_to_path_with_backend(backend, url, path, resume_from_partial, Some(callback)));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/elan-utils/src/utils.rs:189:36
[INFO] [stderr]     |
[INFO] [stderr] 189 |                   notify_handler: &Fn(Notification))
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: the item `Digest` is imported redundantly
[INFO] [stderr]    --> src/elan-utils/src/utils.rs:192:9
[INFO] [stderr]     |
[INFO] [stderr] 9   | use sha2::{Digest, Sha256};
[INFO] [stderr]     |            ------ the item `Digest` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 192 |     use sha2::Digest;
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the item `download` is imported redundantly
[INFO] [stderr]    --> src/elan-utils/src/utils.rs:195:20
[INFO] [stderr]     |
[INFO] [stderr] 195 |     use download::{self, Event, Backend};
[INFO] [stderr]     |                    ^^^^
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/elan-utils/src/lib.rs:10:1
[INFO] [stderr]     |
[INFO] [stderr] 10  | extern crate download;
[INFO] [stderr]     | ---------------------- the item `download` is already imported here
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/elan-utils/src/utils.rs:203:20
[INFO] [stderr]     |
[INFO] [stderr] 203 |     let callback: &Fn(Event) -> download::Result<()> = &|msg| {
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Event) -> download::Result<()>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/elan-utils/src/utils.rs:277:62
[INFO] [stderr]     |
[INFO] [stderr] 277 | pub fn symlink_dir(src: &Path, dest: &Path, notify_handler: &Fn(Notification)) -> Result<()> {
[INFO] [stderr]     |                                                              ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/elan-utils/src/utils.rs:323:59
[INFO] [stderr]     |
[INFO] [stderr] 323 | pub fn copy_dir(src: &Path, dest: &Path, notify_handler: &Fn(Notification)) -> Result<()> {
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/elan-utils/src/utils.rs:344:69
[INFO] [stderr]     |
[INFO] [stderr] 344 | pub fn remove_dir(name: &'static str, path: &Path, notify_handler: &Fn(Notification)) -> Result<()> {
[INFO] [stderr]     |                                                                     ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-utils/src/utils.rs:407:24
[INFO] [stderr]     |
[INFO] [stderr] 407 |         let metadata = try!(fs::metadata(path).chain_err(|| {
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-utils/src/utils.rs:444:15
[INFO] [stderr]     |
[INFO] [stderr] 444 |     let cwd = try!(env::current_dir().chain_err(|| ErrorKind::ElanHome));
[INFO] [stderr]     |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stderr]  --> src/elan-utils/src/utils.rs:8:37
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::sync::atomic::{AtomicBool, ATOMIC_BOOL_INIT, Ordering};
[INFO] [stderr]   |                                     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/elan-utils/src/utils.rs:183:46
[INFO] [stderr]     |
[INFO] [stderr] 183 | static DEPRECATED_HYPER_WARNED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Digest`
[INFO] [stderr]  --> src/elan-utils/src/utils.rs:9:12
[INFO] [stderr]   |
[INFO] [stderr] 9 | use sha2::{Digest, Sha256};
[INFO] [stderr]   |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `elan-utils` (lib) generated 46 warnings
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/elan-dist/src/temp.rs:42:25
[INFO] [stderr]    |
[INFO] [stderr] 42 |     notify_handler: Box<Fn(Notification)>,
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/elan-dist/src/temp.rs:108:32
[INFO] [stderr]     |
[INFO] [stderr] 108 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]     |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/elan-dist/src/temp.rs:136:61
[INFO] [stderr]     |
[INFO] [stderr] 136 |     pub fn new(root_directory: PathBuf, notify_handler: Box<Fn(Notification)>) -> Self {
[INFO] [stderr]     |                                                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-dist/src/temp.rs:156:9
[INFO] [stderr]     |
[INFO] [stderr] 156 |         try!(self.create_root());
[INFO] [stderr]     |         ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-dist/src/temp.rs:167:17
[INFO] [stderr]     |
[INFO] [stderr] 167 |                 try!(fs::create_dir(&temp_dir).map_err(|e| {
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-dist/src/temp.rs:186:9
[INFO] [stderr]     |
[INFO] [stderr] 186 |         try!(self.create_root());
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-dist/src/temp.rs:197:17
[INFO] [stderr]     |
[INFO] [stderr] 197 |                 try!(fs::File::create(&temp_file).map_err(|e| {
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/dist.rs:95:9
[INFO] [stderr]    |
[INFO] [stderr] 95 |         try!(write!(f, "{}", &self.channel));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/dist.rs:92:13
[INFO] [stderr]    |
[INFO] [stderr] 92 |             try!(write!(f, "{}-", str::replace(origin, "/", "-")));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/dist.rs:98:13
[INFO] [stderr]    |
[INFO] [stderr] 98 |             try!(write!(f, "-{}", date));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-dist/src/dist.rs:160:25
[INFO] [stderr]     |
[INFO] [stderr] 160 |     let manifestation = try!(Manifestation::open(prefix.clone()));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/component/package.rs:32:19
[INFO] [stderr]    |
[INFO] [stderr] 32 |     let entries = try!(archive.entries().chain_err(|| ErrorKind::ExtractingPackage));
[INFO] [stderr]    |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/component/package.rs:52:9
[INFO] [stderr]    |
[INFO] [stderr] 52 |         try!(entry.unpack(&full_path).chain_err(|| ErrorKind::ExtractingPackage));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/component/package.rs:34:25
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let mut entry = try!(entry.chain_err(|| ErrorKind::ExtractingPackage));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/component/package.rs:37:24
[INFO] [stderr]    |
[INFO] [stderr] 37 |             let path = try!(path.chain_err(|| ErrorKind::ExtractingPackage));
[INFO] [stderr]    |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/component/package.rs:48:17
[INFO] [stderr]    |
[INFO] [stderr] 48 |                 try!(::std::fs::create_dir_all(&parent).chain_err(|| ErrorKind::ExtractingPackage)),
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/component/package.rs:75:20
[INFO] [stderr]    |
[INFO] [stderr] 75 |         let file = try!(File::open(path).chain_err(|| ErrorKind::ExtractingPackage));
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/component/package.rs:94:21
[INFO] [stderr]    |
[INFO] [stderr] 94 |                     try!(fs::create_dir_all(&parent).chain_err(|| ErrorKind::ExtractingPackage)),
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-dist/src/component/package.rs:131:20
[INFO] [stderr]     |
[INFO] [stderr] 131 |         let file = try!(File::open(path).chain_err(|| ErrorKind::ExtractingPackage));
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/elan-dist/src/manifestation.rs:26:36
[INFO] [stderr]    |
[INFO] [stderr] 26 |                   notify_handler: &Fn(Notification)) -> Result<()> {
[INFO] [stderr]    |                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/manifestation.rs:63:30
[INFO] [stderr]    |
[INFO] [stderr] 63 |         let installer_file = try!(dlcfg.download_and_check(&url, ext));
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/elan-dist/src/download.rs:19:29
[INFO] [stderr]    |
[INFO] [stderr] 19 |     pub notify_handler: &'a Fn(Notification),
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/download.rs:44:9
[INFO] [stderr]    |
[INFO] [stderr] 44 |         try!(utils::ensure_dir_exists("Download Directory", &self.download_dir, &|n| (self.notify_handler)(n.into())));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/download.rs:70:9
[INFO] [stderr]    |
[INFO] [stderr] 70 |         try!(utils::download_file_with_resume(&url,
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/download.rs:48:33
[INFO] [stderr]    |
[INFO] [stderr] 48 |             let cached_result = try!(file_hash(&target_file));
[INFO] [stderr]    |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/download.rs:55:17
[INFO] [stderr]    |
[INFO] [stderr] 55 |                 try!(fs::remove_file(&target_file).chain_err(|| "cleaning up previous download"));
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/download.rs:87:13
[INFO] [stderr]    |
[INFO] [stderr] 87 |             try!(fs::rename(&partial_file_path, &target_file));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/download.rs:96:17
[INFO] [stderr]    |
[INFO] [stderr] 96 |                 try!(fs::remove_file(used_file).chain_err(|| "cleaning up cached downloads"));
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-dist/src/download.rs:109:9
[INFO] [stderr]     |
[INFO] [stderr] 109 |         try!(utils::download_file(&url,
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-dist/src/download.rs:106:19
[INFO] [stderr]     |
[INFO] [stderr] 106 |         let url = try!(utils::parse_url(url_str));
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-dist/src/download.rs:107:20
[INFO] [stderr]     |
[INFO] [stderr] 107 |         let file = try!(self.temp_cfg.new_file_with_ext("", ext));
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan-dist/src/download.rs:122:26
[INFO] [stderr]     |
[INFO] [stderr] 122 |     let mut downloaded = try!(fs::File::open(&path).chain_err(|| "opening already downloaded file"));
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/manifest.rs:26:18
[INFO] [stderr]    |
[INFO] [stderr] 26 |             pkg: try!(get_string(&mut table, "pkg", path)),
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/config.rs:18:23
[INFO] [stderr]    |
[INFO] [stderr] 18 |         let version = try!(get_string(&mut table, "config_version", path));
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/config.rs:23:26
[INFO] [stderr]    |
[INFO] [stderr] 23 |         let components = try!(get_array(&mut table, "components", path));
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/config.rs:24:26
[INFO] [stderr]    |
[INFO] [stderr] 24 |         let components = try!(Self::toml_to_components(components,
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan-dist/src/config.rs:58:29
[INFO] [stderr]    |
[INFO] [stderr] 58 |                 result.push(try!(Component::from_toml(t, &path)));
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `elan-dist` (lib) generated 37 warnings
[INFO] [stderr] warning: unused import: `regex::Regex`
[INFO] [stderr]   --> src/elan/toolchain.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | use regex::Regex;
[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/elan/toolchain.rs:30:23
[INFO] [stderr]    |
[INFO] [stderr] 30 |     dist_handler: Box<Fn(elan_dist::Notification) + 'a>,
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(elan_dist::Notification) + 'a`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/toolchain.rs:70:12
[INFO] [stderr]    |
[INFO] [stderr] 70 |         Ok(try!(ToolchainDesc::from_str(&self.name)))
[INFO] [stderr]    |            ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/toolchain.rs:90:12
[INFO] [stderr]    |
[INFO] [stderr] 90 |         Ok(try!(utils::assert_is_directory(&self.path)))
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/toolchain.rs:100:13
[INFO] [stderr]     |
[INFO] [stderr] 100 |             try!(utils::remove_file("update hash", &update_hash));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/toolchain.rs:99:36
[INFO] [stderr]    |
[INFO] [stderr] 99 |         if let Some(update_hash) = try!(self.update_hash()) {
[INFO] [stderr]    |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/toolchain.rs:107:12
[INFO] [stderr]     |
[INFO] [stderr] 107 |         Ok(try!(result))
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/toolchain.rs:118:23
[INFO] [stderr]     |
[INFO] [stderr] 118 |         let updated = try!(install_method.run(&self.path,
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/toolchain.rs:139:16
[INFO] [stderr]     |
[INFO] [stderr] 139 |             Ok(try!(self.install(install_method)))
[INFO] [stderr]     |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/toolchain.rs:149:21
[INFO] [stderr]     |
[INFO] [stderr] 149 |             Ok(Some(try!(self.cfg.get_hash_file(&self.dir_name, true))))
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/toolchain.rs:162:12
[INFO] [stderr]     |
[INFO] [stderr] 162 |         if try!(self.cfg.telemetry_enabled()) {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/toolchain.rs:169:27
[INFO] [stderr]     |
[INFO] [stderr] 169 |         let update_hash = try!(self.update_hash());
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/toolchain.rs:170:43
[INFO] [stderr]     |
[INFO] [stderr] 170 |         self.install(InstallMethod::Dist(&try!(self.desc()),
[INFO] [stderr]     |                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/toolchain.rs:203:27
[INFO] [stderr]     |
[INFO] [stderr] 203 |         let update_hash = try!(self.update_hash());
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/toolchain.rs:204:60
[INFO] [stderr]     |
[INFO] [stderr] 204 |         self.install_if_not_installed(InstallMethod::Dist(&try!(self.desc()),
[INFO] [stderr]     |                                                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/toolchain.rs:217:9
[INFO] [stderr]     |
[INFO] [stderr] 217 |         try!(utils::assert_is_directory(&pathbuf));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/toolchain.rs:219:9
[INFO] [stderr]     |
[INFO] [stderr] 219 |         try!(utils::assert_is_file(&pathbuf));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/toolchain.rs:222:13
[INFO] [stderr]     |
[INFO] [stderr] 222 |             try!(self.install(InstallMethod::Link(&try!(utils::to_absolute(src)))));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/toolchain.rs:222:52
[INFO] [stderr]     |
[INFO] [stderr] 222 |             try!(self.install(InstallMethod::Link(&try!(utils::to_absolute(src)))));
[INFO] [stderr]     |                                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/toolchain.rs:224:13
[INFO] [stderr]     |
[INFO] [stderr] 224 |             try!(self.install(InstallMethod::Copy(src)));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/toolchain.rs:306:9
[INFO] [stderr]     |
[INFO] [stderr] 306 |         try!(self.verify());
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/toolchain.rs:318:9
[INFO] [stderr]     |
[INFO] [stderr] 318 |         try!(self.verify());
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/toolchain.rs:320:12
[INFO] [stderr]     |
[INFO] [stderr] 320 |         Ok(try!(utils::open_browser(&try!(self.doc_path(relative)))))
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/toolchain.rs:320:38
[INFO] [stderr]     |
[INFO] [stderr] 320 |         Ok(try!(utils::open_browser(&try!(self.doc_path(relative)))))
[INFO] [stderr]     |                                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/toolchain.rs:327:12
[INFO] [stderr]     |
[INFO] [stderr] 327 |         Ok(try!(self.cfg.settings_file.with_mut(|s| {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/elan/config.rs:52:29
[INFO] [stderr]    |
[INFO] [stderr] 52 |     pub notify_handler: Arc<Fn(Notification)>,
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/config.rs:60:9
[INFO] [stderr]    |
[INFO] [stderr] 60 |         try!(utils::ensure_dir_exists("home", &elan_dir,
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/elan/config.rs:56:41
[INFO] [stderr]    |
[INFO] [stderr] 56 |     pub fn from_env(notify_handler: Arc<Fn(Notification)>) -> Result<Self> {
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/config.rs:58:24
[INFO] [stderr]    |
[INFO] [stderr] 58 |         let elan_dir = try!(utils::elan_home());
[INFO] [stderr]    |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:102:9
[INFO] [stderr]     |
[INFO] [stderr] 102 |         try!(self.settings_file.with_mut(|s| {
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:112:13
[INFO] [stderr]     |
[INFO] [stderr] 112 |             try!(utils::ensure_dir_exists("toolchains",
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:122:9
[INFO] [stderr]     |
[INFO] [stderr] 122 |         try!(toolchain.verify());
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:121:25
[INFO] [stderr]     |
[INFO] [stderr] 121 |         let toolchain = try!(self.get_toolchain(name, false));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:128:13
[INFO] [stderr]     |
[INFO] [stderr] 128 |             try!(utils::ensure_dir_exists("update-hash",
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:138:39
[INFO] [stderr]     |
[INFO] [stderr] 138 |         if let Some((toolchain, _)) = try!(self.find_override_toolchain_or_default(path)) {
[INFO] [stderr]     |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:146:24
[INFO] [stderr]     |
[INFO] [stderr] 146 |         let opt_name = try!(self.settings_file.with(|s| Ok(s.default_toolchain.clone())));
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:149:29
[INFO] [stderr]     |
[INFO] [stderr] 149 |             let toolchain = try!(self.verify_toolchain(&name)
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:202:25
[INFO] [stderr]     |
[INFO] [stderr] 202 |                         try!(toolchain.install_from_dist(false));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:267:47
[INFO] [stderr]     |
[INFO] [stderr] 267 |         Ok(if let Some((toolchain, reason)) = try!(self.find_override(path)) {
[INFO] [stderr]     |                                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:270:13
[INFO] [stderr]     |
[INFO] [stderr] 270 |             try!(self.find_default()).map(|toolchain| (toolchain, None))
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:286:42
[INFO] [stderr]     |
[INFO] [stderr] 286 |             let mut toolchains: Vec<_> = try!(utils::read_dir("toolchains", &self.toolchains_dir))
[INFO] [stderr]     |                                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:302:26
[INFO] [stderr]     |
[INFO] [stderr] 302 |         let toolchains = try!(self.list_toolchains());
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:335:34
[INFO] [stderr]     |
[INFO] [stderr] 335 |         let (ref toolchain, _) = try!(self.toolchain_for_dir(path));
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:342:29
[INFO] [stderr]     |
[INFO] [stderr] 342 |         let ref toolchain = try!(self.get_toolchain(toolchain, false));
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:344:13
[INFO] [stderr]     |
[INFO] [stderr] 344 |             try!(toolchain.install_from_dist(false));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:351:30
[INFO] [stderr]     |
[INFO] [stderr] 351 |         let (toolchain, _) = try!(self.toolchain_for_dir(path));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:356:30
[INFO] [stderr]     |
[INFO] [stderr] 356 |         let (toolchain, _) = try!(self.toolchain_for_dir(path));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:365:9
[INFO] [stderr]     |
[INFO] [stderr] 365 |         try!(self.settings_file.with_mut(|s| {
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:379:9
[INFO] [stderr]     |
[INFO] [stderr] 379 |         try!(self.settings_file.with_mut(|s| {
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:390:18
[INFO] [stderr]     |
[INFO] [stderr] 390 |         Ok(match try!(self.settings_file.with(|s| Ok(s.telemetry))) {
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:400:9
[INFO] [stderr]     |
[INFO] [stderr] 400 |         try!(t.analyze_telemetry_events(&events));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/config.rs:399:22
[INFO] [stderr]     |
[INFO] [stderr] 399 |         let events = try!(t.import_telemery());
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/elan/install.rs:21:52
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub fn run(self, path: &Path, notify_handler: &Fn(Notification)) -> Result<bool> {
[INFO] [stderr]    |                                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/install.rs:27:21
[INFO] [stderr]    |
[INFO] [stderr] 27 |                     try!(uninstall(path, notify_handler));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/install.rs:34:17
[INFO] [stderr]    |
[INFO] [stderr] 34 |                 try!(utils::copy_dir(src, path, &|n| notify_handler(n.into())));
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/install.rs:38:17
[INFO] [stderr]    |
[INFO] [stderr] 38 |                 try!(utils::symlink_dir(src, &path, &|n| notify_handler(n.into())));
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/install.rs:44:21
[INFO] [stderr]    |
[INFO] [stderr] 44 |                     try!(dist::update_from_dist(
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/install.rs:56:25
[INFO] [stderr]    |
[INFO] [stderr] 56 |                         try!(utils::write_file("update hash", hash_file, &hash));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/elan/install.rs:68:48
[INFO] [stderr]    |
[INFO] [stderr] 68 | pub fn uninstall(path: &Path, notify_handler: &Fn(Notification)) -> Result<()> {
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/install.rs:69:8
[INFO] [stderr]    |
[INFO] [stderr] 69 |     Ok(try!(utils::remove_dir("install", path,
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/settings.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 29 |         try!(utils::write_file("settings", &self.path, &s.stringify()));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/settings.rs:39:21
[INFO] [stderr]    |
[INFO] [stderr] 39 |                     try!(Settings::parse(&content))
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/settings.rs:38:35
[INFO] [stderr]    |
[INFO] [stderr] 38 |                     let content = try!(utils::read_file("settings", &self.path));
[INFO] [stderr]    |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/settings.rs:47:13
[INFO] [stderr]    |
[INFO] [stderr] 47 |             try!(self.write_settings());
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/settings.rs:52:9
[INFO] [stderr]    |
[INFO] [stderr] 52 |         try!(self.read_settings());
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/settings.rs:58:9
[INFO] [stderr]    |
[INFO] [stderr] 58 |         try!(self.read_settings());
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/settings.rs:64:9
[INFO] [stderr]    |
[INFO] [stderr] 64 |         try!(self.write_settings());
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/settings.rs:62:13
[INFO] [stderr]    |
[INFO] [stderr] 62 |             try!(f(self.cache.borrow_mut().as_mut().unwrap()))
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/elan/settings.rs:96:50
[INFO] [stderr]    |
[INFO] [stderr] 96 |     fn path_to_key(path: &Path, notify_handler: &Fn(Notification)) -> String {
[INFO] [stderr]    |                                                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/elan/settings.rs:104:69
[INFO] [stderr]     |
[INFO] [stderr] 104 |     pub fn remove_override(&mut self, path: &Path, notify_handler: &Fn(Notification)) -> bool {
[INFO] [stderr]     |                                                                     ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/elan/settings.rs:109:85
[INFO] [stderr]     |
[INFO] [stderr] 109 |     pub fn add_override(&mut self, path: &Path, toolchain: String, notify_handler: &Fn(Notification)) {
[INFO] [stderr]     |                                                                                     ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/elan/settings.rs:115:61
[INFO] [stderr]     |
[INFO] [stderr] 115 |     pub fn dir_override(&self, dir: &Path, notify_handler: &Fn(Notification)) -> Option<String> {
[INFO] [stderr]     |                                                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Notification)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/settings.rs:129:23
[INFO] [stderr]     |
[INFO] [stderr] 129 |         let version = try!(get_string(&mut table, "version", path));
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/settings.rs:135:32
[INFO] [stderr]     |
[INFO] [stderr] 135 |             default_toolchain: try!(get_opt_string(&mut table, "default_toolchain", path)),
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/settings.rs:136:24
[INFO] [stderr]     |
[INFO] [stderr] 136 |             overrides: try!(Self::table_to_overrides(&mut table, path)),
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/settings.rs:137:27
[INFO] [stderr]     |
[INFO] [stderr] 137 |             telemetry: if try!(get_opt_bool(&mut table, "telemetry", path)).unwrap_or(false) {
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/settings.rs:165:25
[INFO] [stderr]     |
[INFO] [stderr] 165 |         let pkg_table = try!(get_table(table, "overrides", path));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `time`
[INFO] [stderr]  --> src/elan/telemetry.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use time;
[INFO] [stderr]   |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `raw`, `utils`
[INFO] [stderr]  --> src/elan/telemetry.rs:3:18
[INFO] [stderr]   |
[INFO] [stderr] 3 | use elan_utils::{raw, utils};
[INFO] [stderr]   |                  ^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde_json`
[INFO] [stderr]  --> src/elan/telemetry.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use serde_json;
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/telemetry.rs:49:24
[INFO] [stderr]    |
[INFO] [stderr] 49 |         let contents = try!(telemetry_dir_contents.chain_err(|| ErrorKind::TelemetryCleanupError));
[INFO] [stderr]    |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/telemetry.rs:73:13
[INFO] [stderr]    |
[INFO] [stderr] 73 |             try!(fs::remove_file(&telemetry_files[i]).chain_err(|| ErrorKind::TelemetryCleanupError));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/elan/command.rs:20:50
[INFO] [stderr]    |
[INFO] [stderr] 20 |     if (arg0 == "lean" || arg0 == "lean.exe") && try!(cfg.telemetry_enabled()) {
[INFO] [stderr]    |                                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the item `libc` is imported redundantly
[INFO] [stderr]    --> src/elan/command.rs:163:9
[INFO] [stderr]     |
[INFO] [stderr] 163 |     use libc;
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/elan/lib.rs:17:1
[INFO] [stderr]     |
[INFO] [stderr] 17  | extern crate libc;
[INFO] [stderr]     | ------------------ the item `libc` is already imported here
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/telemetry_analysis.rs:119:24
[INFO] [stderr]     |
[INFO] [stderr] 119 |         let contents = try!(self.telemetry_dir.read_dir().chain_err(|| ErrorKind::TelemetryAnalysisError));
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/elan/telemetry_analysis.rs:142:17
[INFO] [stderr]     |
[INFO] [stderr] 142 |         let f = try!(File::open(&path).chain_err(|| ErrorKind::TelemetryAnalysisError));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `event`
[INFO] [stderr]   --> src/elan/telemetry.rs:42:33
[INFO] [stderr]    |
[INFO] [stderr] 42 |     pub fn log_telemetry(&self, event: TelemetryEvent) -> Result<()> {
[INFO] [stderr]    |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/elan/toolchain.rs:340:21
[INFO] [stderr]     |
[INFO] [stderr] 340 |                 let mut ext = EXE_SUFFIX;
[INFO] [stderr]     |                     ----^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant is never used: `LOG_FILE_VERSION`
[INFO] [stderr]   --> src/elan/telemetry.rs:34:1
[INFO] [stderr]    |
[INFO] [stderr] 34 | const LOG_FILE_VERSION: i32 = 1;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `elan` (lib) generated 89 warnings
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stderr]    Doc-tests elan
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "62a9b8815e2bd58147e967e5413e4dac57ce305808aa5cfe242f97cd3efaa96a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "62a9b8815e2bd58147e967e5413e4dac57ce305808aa5cfe242f97cd3efaa96a", kill_on_drop: false }`
[INFO] [stdout] 62a9b8815e2bd58147e967e5413e4dac57ce305808aa5cfe242f97cd3efaa96a
