[INFO] fetching crate ig 0.4.2...
[INFO] testing ig-0.4.2 against 1.54.0 for beta-1.55-1
[INFO] extracting crate ig 0.4.2 into /workspace/builds/worker-3/source
[INFO] validating manifest of crates.io crate ig 0.4.2 on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate ig 0.4.2
[INFO] finished tweaking crates.io crate ig 0.4.2
[INFO] tweaked toml for crates.io crate ig 0.4.2 written to /workspace/builds/worker-3/source/Cargo.toml
[INFO] crate crates.io crate ig 0.4.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 59a23c323f1c16139444a0fe9caa7124a1545bbfd9bca5b2f31356f469603936
[INFO] running `Command { std: "docker" "start" "-a" "59a23c323f1c16139444a0fe9caa7124a1545bbfd9bca5b2f31356f469603936", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "59a23c323f1c16139444a0fe9caa7124a1545bbfd9bca5b2f31356f469603936", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "59a23c323f1c16139444a0fe9caa7124a1545bbfd9bca5b2f31356f469603936", kill_on_drop: false }`
[INFO] [stdout] 59a23c323f1c16139444a0fe9caa7124a1545bbfd9bca5b2f31356f469603936
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6cc90c497f82076bcf8d26d0533d44b7d395a31d7d4ed426836441d43013eede
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "6cc90c497f82076bcf8d26d0533d44b7d395a31d7d4ed426836441d43013eede", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-bidi v0.2.6
[INFO] [stderr]    Compiling xml-rs v0.1.26
[INFO] [stderr]    Compiling idna v0.1.5
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling memchr v0.1.11
[INFO] [stderr]    Compiling num_cpus v0.2.13
[INFO] [stderr]    Compiling xmltree v0.3.2
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling thread-id v2.0.0
[INFO] [stderr]    Compiling thread_local v0.2.7
[INFO] [stderr]    Compiling uuid v0.2.3
[INFO] [stderr]    Compiling aho-corasick v0.5.3
[INFO] [stderr]    Compiling url v0.5.10
[INFO] [stderr]    Compiling regex v0.1.80
[INFO] [stderr]    Compiling url v1.7.2
[INFO] [stderr]    Compiling cookie v0.2.5
[INFO] [stderr]    Compiling hyper v0.8.1
[INFO] [stderr]    Compiling ig v0.4.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/gateway.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout] 113 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:144:32
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:172:32
[INFO] [stdout]     |
[INFO] [stdout] 172 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:210:32
[INFO] [stdout]     |
[INFO] [stdout] 210 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:258:32
[INFO] [stdout]     |
[INFO] [stdout] 258 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:314:20
[INFO] [stdout]     |
[INFO] [stdout] 314 |         let text = try!(soap::send(&url, soap::Action::new(header), body));
[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/gateway.rs:397:29
[INFO] [stdout]     |
[INFO] [stdout] 397 |         let external_port = try!(self.add_any_port(protocol,
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/gateway.rs:520:9
[INFO] [stdout]     |
[INFO] [stdout] 520 |         try!(self.perform_request(header, &*body, "AddPortMappingResponse"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/search.rs:77:32
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/search.rs:128:18
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let socket = try!(UdpSocket::bind(addr));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/search.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     try!(socket.set_read_timeout(Some(timeout)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/search.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     try!(socket.send_to(SEARCH_REQUEST.as_bytes(), "239.255.255.250:1900"));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/search.rs:133:21
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let (read, _) = try!(socket.recv_from(&mut buf));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/search.rs:134:16
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let text = try!(str::from_utf8(&buf[..read]));
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/search.rs:139:31
[INFO] [stdout]     |
[INFO] [stdout] 139 |             let control_url = try!(get_control_url(&location));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/search.rs:171:16
[INFO] [stdout]     |
[INFO] [stdout] 171 |     let resp = try!(client.get(&format!("http://{}{}", location.0, location.1)).send());
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/soap.rs:61:20
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let mut resp = try!(client.post(url)
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/soap.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     try!(resp.read_to_string(&mut text));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gateway.rs:319:13
[INFO] [stdout]     |
[INFO] [stdout] 319 |         let mut body = match xml.get_mut_child("Body")
[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: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 27.34s
[INFO] running `Command { std: "docker" "inspect" "6cc90c497f82076bcf8d26d0533d44b7d395a31d7d4ed426836441d43013eede", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6cc90c497f82076bcf8d26d0533d44b7d395a31d7d4ed426836441d43013eede", kill_on_drop: false }`
[INFO] [stdout] 6cc90c497f82076bcf8d26d0533d44b7d395a31d7d4ed426836441d43013eede
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "+1.54.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7175e1ba026a424dd5caaf928cef413537358f03504c8e55c7dd816502ddef06
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "7175e1ba026a424dd5caaf928cef413537358f03504c8e55c7dd816502ddef06", kill_on_drop: false }`
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/gateway.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout] 113 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:144:32
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:172:32
[INFO] [stdout]     |
[INFO] [stdout] 172 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:210:32
[INFO] [stdout]     |
[INFO] [stdout] 210 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:258:32
[INFO] [stdout]     |
[INFO] [stdout] 258 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:314:20
[INFO] [stdout]     |
[INFO] [stdout] 314 |         let text = try!(soap::send(&url, soap::Action::new(header), body));
[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/gateway.rs:397:29
[INFO] [stdout]     |
[INFO] [stdout] 397 |         let external_port = try!(self.add_any_port(protocol,
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/gateway.rs:520:9
[INFO] [stdout]     |
[INFO] [stdout] 520 |         try!(self.perform_request(header, &*body, "AddPortMappingResponse"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/search.rs:77:32
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/search.rs:128:18
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let socket = try!(UdpSocket::bind(addr));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/search.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     try!(socket.set_read_timeout(Some(timeout)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/search.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     try!(socket.send_to(SEARCH_REQUEST.as_bytes(), "239.255.255.250:1900"));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/search.rs:133:21
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let (read, _) = try!(socket.recv_from(&mut buf));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/search.rs:134:16
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let text = try!(str::from_utf8(&buf[..read]));
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/search.rs:139:31
[INFO] [stdout]     |
[INFO] [stdout] 139 |             let control_url = try!(get_control_url(&location));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/search.rs:171:16
[INFO] [stdout]     |
[INFO] [stdout] 171 |     let resp = try!(client.get(&format!("http://{}{}", location.0, location.1)).send());
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/soap.rs:61:20
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let mut resp = try!(client.post(url)
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/soap.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     try!(resp.read_to_string(&mut text));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gateway.rs:319:13
[INFO] [stdout]     |
[INFO] [stdout] 319 |         let mut body = match xml.get_mut_child("Body")
[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: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ig v0.4.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/gateway.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout] 113 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:144:32
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:172:32
[INFO] [stdout]     |
[INFO] [stdout] 172 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:210:32
[INFO] [stdout]     |
[INFO] [stdout] 210 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:258:32
[INFO] [stdout]     |
[INFO] [stdout] 258 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:314:20
[INFO] [stdout]     |
[INFO] [stdout] 314 |         let text = try!(soap::send(&url, soap::Action::new(header), body));
[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/gateway.rs:397:29
[INFO] [stdout]     |
[INFO] [stdout] 397 |         let external_port = try!(self.add_any_port(protocol,
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/gateway.rs:520:9
[INFO] [stdout]     |
[INFO] [stdout] 520 |         try!(self.perform_request(header, &*body, "AddPortMappingResponse"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/search.rs:77:32
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/search.rs:128:18
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let socket = try!(UdpSocket::bind(addr));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/search.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     try!(socket.set_read_timeout(Some(timeout)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/search.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     try!(socket.send_to(SEARCH_REQUEST.as_bytes(), "239.255.255.250:1900"));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/search.rs:133:21
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let (read, _) = try!(socket.recv_from(&mut buf));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/search.rs:134:16
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let text = try!(str::from_utf8(&buf[..read]));
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/search.rs:139:31
[INFO] [stdout]     |
[INFO] [stdout] 139 |             let control_url = try!(get_control_url(&location));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/search.rs:171:16
[INFO] [stdout]     |
[INFO] [stdout] 171 |     let resp = try!(client.get(&format!("http://{}{}", location.0, location.1)).send());
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/soap.rs:61:20
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let mut resp = try!(client.post(url)
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/soap.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     try!(resp.read_to_string(&mut text));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gateway.rs:319:13
[INFO] [stdout]     |
[INFO] [stdout] 319 |         let mut body = match xml.get_mut_child("Body")
[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: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 12.99s
[INFO] running `Command { std: "docker" "inspect" "7175e1ba026a424dd5caaf928cef413537358f03504c8e55c7dd816502ddef06", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7175e1ba026a424dd5caaf928cef413537358f03504c8e55c7dd816502ddef06", kill_on_drop: false }`
[INFO] [stdout] 7175e1ba026a424dd5caaf928cef413537358f03504c8e55c7dd816502ddef06
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "+1.54.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 85ff9ebc361c580ce35fdeb545dd751adfc641709b31bb12bba33c1941d75334
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "85ff9ebc361c580ce35fdeb545dd751adfc641709b31bb12bba33c1941d75334", kill_on_drop: false }`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/gateway.rs:113:32
[INFO] [stderr]     |
[INFO] [stderr] 113 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stdout] 
[INFO] [stderr]     |
[INFO] [stdout] running 2 tests
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:144:32
[INFO] [stderr]     |
[INFO] [stderr] 144 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:172:32
[INFO] [stderr]     |
[INFO] [stderr] 172 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:210:32
[INFO] [stderr]     |
[INFO] [stderr] 210 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:258:32
[INFO] [stderr]     |
[INFO] [stderr] 258 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:314:20
[INFO] [stderr]     |
[INFO] [stderr] 314 |         let text = try!(soap::send(&url, soap::Action::new(header), body));
[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/gateway.rs:397:29
[INFO] [stderr]     |
[INFO] [stderr] 397 |         let external_port = try!(self.add_any_port(protocol,
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/gateway.rs:520:9
[INFO] [stderr]     |
[INFO] [stderr] 520 |         try!(self.perform_request(header, &*body, "AddPortMappingResponse"));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/search.rs:77:32
[INFO] [stderr]    |
[INFO] [stderr] 77 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/search.rs:128:18
[INFO] [stderr]     |
[INFO] [stderr] 128 |     let socket = try!(UdpSocket::bind(addr));
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/search.rs:129:5
[INFO] [stderr]     |
[INFO] [stderr] 129 |     try!(socket.set_read_timeout(Some(timeout)));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/search.rs:131:5
[INFO] [stderr]     |
[INFO] [stderr] 131 |     try!(socket.send_to(SEARCH_REQUEST.as_bytes(), "239.255.255.250:1900"));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/search.rs:133:21
[INFO] [stderr]     |
[INFO] [stderr] 133 |     let (read, _) = try!(socket.recv_from(&mut buf));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/search.rs:134:16
[INFO] [stderr]     |
[INFO] [stderr] 134 |     let text = try!(str::from_utf8(&buf[..read]));
[INFO] [stderr]     |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/search.rs:139:31
[INFO] [stderr]     |
[INFO] [stderr] 139 |             let control_url = try!(get_control_url(&location));
[INFO] [stderr]     |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/search.rs:171:16
[INFO] [stderr]     |
[INFO] [stderr] 171 |     let resp = try!(client.get(&format!("http://{}{}", location.0, location.1)).send());
[INFO] [stderr]     |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/soap.rs:61:20
[INFO] [stderr]    |
[INFO] [stderr] 61 |     let mut resp = try!(client.post(url)
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/soap.rs:67:5
[INFO] [stderr]    |
[INFO] [stderr] 67 |     try!(resp.read_to_string(&mut text));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/gateway.rs:319:13
[INFO] [stderr]     |
[INFO] [stderr] 319 |         let mut body = match xml.get_mut_child("Body")
[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: 19 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/gateway.rs:113:32
[INFO] [stderr]     |
[INFO] [stderr] 113 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:144:32
[INFO] [stderr]     |
[INFO] [stderr] 144 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:172:32
[INFO] [stderr]     |
[INFO] [stderr] 172 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:210:32
[INFO] [stderr]     |
[INFO] [stderr] 210 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:258:32
[INFO] [stderr]     |
[INFO] [stderr] 258 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/gateway.rs:314:20
[INFO] [stderr]     |
[INFO] [stderr] 314 |         let text = try!(soap::send(&url, soap::Action::new(header), body));
[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/gateway.rs:397:29
[INFO] [stderr]     |
[INFO] [stderr] 397 |         let external_port = try!(self.add_any_port(protocol,
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/gateway.rs:520:9
[INFO] [stderr]     |
[INFO] [stderr] 520 |         try!(self.perform_request(header, &*body, "AddPortMappingResponse"));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/search.rs:77:32
[INFO] [stderr]    |
[INFO] [stderr] 77 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[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/search.rs:128:18
[INFO] [stderr]     |
[INFO] [stderr] 128 |     let socket = try!(UdpSocket::bind(addr));
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/search.rs:129:5
[INFO] [stderr]     |
[INFO] [stderr] 129 |     try!(socket.set_read_timeout(Some(timeout)));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/search.rs:131:5
[INFO] [stderr]     |
[INFO] [stderr] 131 |     try!(socket.send_to(SEARCH_REQUEST.as_bytes(), "239.255.255.250:1900"));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/search.rs:133:21
[INFO] [stderr]     |
[INFO] [stderr] 133 |     let (read, _) = try!(socket.recv_from(&mut buf));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/search.rs:134:16
[INFO] [stderr]     |
[INFO] [stderr] 134 |     let text = try!(str::from_utf8(&buf[..read]));
[INFO] [stderr]     |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/search.rs:139:31
[INFO] [stderr]     |
[INFO] [stderr] 139 |             let control_url = try!(get_control_url(&location));
[INFO] [stderr]     |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/search.rs:171:16
[INFO] [stderr]     |
[INFO] [stderr] 171 |     let resp = try!(client.get(&format!("http://{}{}", location.0, location.1)).send());
[INFO] [stderr]     |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/soap.rs:61:20
[INFO] [stderr]    |
[INFO] [stderr] 61 |     let mut resp = try!(client.post(url)
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/soap.rs:67:5
[INFO] [stderr]    |
[INFO] [stderr] 67 |     try!(resp.read_to_string(&mut text));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/gateway.rs:319:13
[INFO] [stderr]     |
[INFO] [stderr] 319 |         let mut body = match xml.get_mut_child("Body")
[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: 19 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/ig-43d5c2e40bb0527f)
[INFO] [stdout] test search::test_parse_result ... ok
[INFO] [stdout] test search::test_parse_result_case_insensitivity ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests ig
[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" "85ff9ebc361c580ce35fdeb545dd751adfc641709b31bb12bba33c1941d75334", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "85ff9ebc361c580ce35fdeb545dd751adfc641709b31bb12bba33c1941d75334", kill_on_drop: false }`
[INFO] [stdout] 85ff9ebc361c580ce35fdeb545dd751adfc641709b31bb12bba33c1941d75334
