[INFO] fetching crate rux 0.1.0... [INFO] checking rux-0.1.0 against try#3d9fdbff4f377de96b3a51174e7a64086bee9a5c for pr-81477 [INFO] extracting crate rux 0.1.0 into /workspace/builds/worker-4/source [INFO] validating manifest of crates.io crate rux 0.1.0 on toolchain 3d9fdbff4f377de96b3a51174e7a64086bee9a5c [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+3d9fdbff4f377de96b3a51174e7a64086bee9a5c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate rux 0.1.0 [INFO] finished tweaking crates.io crate rux 0.1.0 [INFO] tweaked toml for crates.io crate rux 0.1.0 written to /workspace/builds/worker-4/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+3d9fdbff4f377de96b3a51174e7a64086bee9a5c" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+3d9fdbff4f377de96b3a51174e7a64086bee9a5c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded bitflags v0.4.0 [INFO] [stderr] Downloaded rustc_version v0.1.7 [INFO] [stderr] Downloaded cc v1.0.68 [INFO] [stderr] Downloaded hermit-abi v0.1.19 [INFO] [stderr] Downloaded winapi v0.2.8 [INFO] [stderr] Downloaded log v0.4.14 [INFO] [stderr] Downloaded log v0.3.9 [INFO] [stderr] Downloaded nix v0.7.0 [INFO] [stderr] Downloaded void v1.0.2 [INFO] [stderr] Downloaded lazy_static v0.2.11 [INFO] [stderr] Downloaded pad v0.1.6 [INFO] [stderr] Downloaded slab v0.3.0 [INFO] [stderr] Downloaded wasi v0.10.0+wasi-snapshot-preview1 [INFO] [stderr] Downloaded time v0.1.44 [INFO] [stderr] Downloaded winapi-build v0.1.1 [INFO] [stderr] Downloaded kernel32-sys v0.2.2 [INFO] [stderr] Downloaded rustc-demangle v0.1.20 [INFO] [stderr] Downloaded backtrace v0.2.3 [INFO] [stderr] Downloaded semver v0.1.20 [INFO] [stderr] Downloaded libc v0.2.97 [INFO] [stderr] Downloaded backtrace-sys v0.1.37 [INFO] [stderr] Downloaded error-chain v0.5.0 [INFO] [stderr] Downloaded dbghelp-sys v0.2.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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:ea7d7bff36b2ba8ce4de8bba1d2dea90376bc481f1a945a913994a8c492e40c1" "/opt/rustwide/cargo-home/bin/cargo" "+3d9fdbff4f377de96b3a51174e7a64086bee9a5c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4fb3733e7bf130e151c213885a05e99213c65c9e090f682d005bb07f774d6c3b [INFO] running `Command { std: "docker" "start" "-a" "4fb3733e7bf130e151c213885a05e99213c65c9e090f682d005bb07f774d6c3b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4fb3733e7bf130e151c213885a05e99213c65c9e090f682d005bb07f774d6c3b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4fb3733e7bf130e151c213885a05e99213c65c9e090f682d005bb07f774d6c3b", kill_on_drop: false }` [INFO] [stdout] 4fb3733e7bf130e151c213885a05e99213c65c9e090f682d005bb07f774d6c3b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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=forbid" "-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:ea7d7bff36b2ba8ce4de8bba1d2dea90376bc481f1a945a913994a8c492e40c1" "/opt/rustwide/cargo-home/bin/cargo" "+3d9fdbff4f377de96b3a51174e7a64086bee9a5c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5c4b8e18e47bc4202762e6b1feb4ad2281fc131677d16ccd1c6b2985f242f2a3 [INFO] running `Command { std: "docker" "start" "-a" "5c4b8e18e47bc4202762e6b1feb4ad2281fc131677d16ccd1c6b2985f242f2a3", kill_on_drop: false }` [INFO] [stderr] Compiling winapi-build v0.1.1 [INFO] [stderr] Compiling libc v0.2.97 [INFO] [stderr] Checking winapi v0.2.8 [INFO] [stderr] Compiling semver v0.1.20 [INFO] [stderr] Compiling backtrace v0.2.3 [INFO] [stderr] Checking rustc-demangle v0.1.20 [INFO] [stderr] Checking unicode-width v0.1.8 [INFO] [stderr] Checking bitflags v0.4.0 [INFO] [stderr] Checking lazy_static v0.2.11 [INFO] [stderr] Compiling backtrace-sys v0.1.37 [INFO] [stderr] Checking pad v0.1.6 [INFO] [stderr] Compiling dbghelp-sys v0.2.0 [INFO] [stderr] Compiling kernel32-sys v0.2.2 [INFO] [stderr] Compiling rustc_version v0.1.7 [INFO] [stderr] Compiling nix v0.7.0 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking error-chain v0.5.0 [INFO] [stderr] Checking rux v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> src/handler/sync.rs:49:25 [INFO] [stdout] | [INFO] [stdout] 49 | None => error!("on_close(): handler not found"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> src/server/simplemux.rs:147:25 [INFO] [stdout] | [INFO] [stdout] 147 | Ok(None) => debug!("accept4: socket not ready"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> src/server/simplemux.rs:148:23 [INFO] [stdout] | [INFO] [stdout] 148 | Err(e) => error!("accept4: {}", e), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> src/server/mod.rs:118:29 [INFO] [stdout] | [INFO] [stdout] 118 | Ok(None) => debug!("read_signal(): not ready to read"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> src/server/mod.rs:119:29 [INFO] [stdout] | [INFO] [stdout] 119 | Err(err) => error!("read_signal(): {}", err), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> src/handler/sync.rs:49:25 [INFO] [stdout] | [INFO] [stdout] 49 | None => error!("on_close(): handler not found"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0407]: method `on_error` is not a member of trait `Handler` [INFO] [stdout] --> src/protocol.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | / fn on_error(&mut self) -> Result<()> { [INFO] [stdout] 64 | | self.on_error = true; [INFO] [stdout] 65 | | Ok(()) [INFO] [stdout] 66 | | } [INFO] [stdout] | |_________^ not a member of trait `Handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0407]: method `on_close` is not a member of trait `Handler` [INFO] [stdout] --> src/protocol.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | / fn on_close(&mut self) -> Result<()> { [INFO] [stdout] 69 | | self.on_close = true; [INFO] [stdout] 70 | | Ok(()) [INFO] [stdout] 71 | | } [INFO] [stdout] | |_________^ not a member of trait `Handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0407]: method `on_readable` is not a member of trait `Handler` [INFO] [stdout] --> src/protocol.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | / fn on_readable(&mut self) -> Result<()> { [INFO] [stdout] 74 | | self.on_readable = true; [INFO] [stdout] 75 | | Ok(()) [INFO] [stdout] 76 | | } [INFO] [stdout] | |_________^ not a member of trait `Handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0407]: method `on_writable` is not a member of trait `Handler` [INFO] [stdout] --> src/protocol.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | / fn on_writable(&mut self) -> Result<()> { [INFO] [stdout] 79 | | self.on_writable = true; [INFO] [stdout] 80 | | Ok(()) [INFO] [stdout] 81 | | } [INFO] [stdout] | |_________^ not a member of trait `Handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0407]: method `new` is not a member of trait `IOProtocol` [INFO] [stdout] --> src/protocol.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | / fn new(&self, _: usize, _: RawFd, _: EpollFd) -> Box { [INFO] [stdout] 88 | | Box::new(TestHandler { [INFO] [stdout] 89 | | on_close: false, [INFO] [stdout] 90 | | on_error: false, [INFO] [stdout] ... | [INFO] [stdout] 93 | | }) [INFO] [stdout] 94 | | } [INFO] [stdout] | |_________^ not a member of trait `IOProtocol` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> src/server/simplemux.rs:147:25 [INFO] [stdout] | [INFO] [stdout] 147 | Ok(None) => debug!("accept4: socket not ready"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> src/server/simplemux.rs:148:23 [INFO] [stdout] | [INFO] [stdout] 148 | Err(e) => error!("accept4: {}", e), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> src/server/mod.rs:118:29 [INFO] [stdout] | [INFO] [stdout] 118 | Ok(None) => debug!("read_signal(): not ready to read"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> src/server/mod.rs:119:29 [INFO] [stdout] | [INFO] [stdout] 119 | Err(err) => error!("read_signal(): {}", err), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/protocol.rs:19:79 [INFO] [stdout] | [INFO] [stdout] 19 | fn get_handler(&self, p: Self::Protocol, epfd: EpollFd, id: usize) -> Box>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/protocol.rs:87:62 [INFO] [stdout] | [INFO] [stdout] 87 | fn new(&self, _: usize, _: RawFd, _: EpollFd) -> Box { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Handler` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/poll/mod.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | handler: Box>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/poll/mod.rs:32:48 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn from_fd(epfd: EpollFd, handler: Box>, loop_ms: isize) -> Epoll { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/poll/mod.rs:45:18 [INFO] [stdout] | [INFO] [stdout] 45 | let fd = try!(epoll_create()); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/poll/mod.rs:42:41 [INFO] [stdout] | [INFO] [stdout] 42 | where F: FnOnce(EpollFd) -> Box> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/poll/mod.rs:56:19 [INFO] [stdout] | [INFO] [stdout] 56 | let cnt = try!(epoll_wait(self.epfd.fd, dst, self.loop_ms)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/poll/mod.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 64 | let cnt = try!(self.wait(dst)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/poll/mod.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | try!(epoll_ctl(self.fd, op, fd, interest)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/poll/mod.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | try!(self.ctl(EpollOp::EpollCtlMod, interest, fd)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/poll/mod.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | try!(self.ctl(EpollOp::EpollCtlAdd, interest, fd)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/poll/mod.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | try!(self.ctl(EpollOp::EpollCtlDel, &NO_INTEREST, fd)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/handler/echo.rs:39:26 [INFO] [stdout] | [INFO] [stdout] 39 | if let Some(n) = try!(read(fd, From::from(&mut self.buf))) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/handler/echo.rs:57:32 [INFO] [stdout] | [INFO] [stdout] 57 | if let Some(cnt) = try!(write(fd, From::from(&self.buf))) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/handler/sync.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | handlers: Slab>>, usize>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/simplemux.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | let inet = try!(addr.to_socket_addrs().unwrap().next().ok_or("could not parse sockaddr")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/simplemux.rs:84:18 [INFO] [stdout] | [INFO] [stdout] 84 | let fd = try!(epoll_create()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/simplemux.rs:89:21 [INFO] [stdout] | [INFO] [stdout] 89 | let srvfd = try!(socket(AddressFamily::Inet, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/simplemux.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | try!(eintr!(bind, "bind", self.srvfd, &self.sockaddr)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/simplemux.rs:170:9 [INFO] [stdout] | [INFO] [stdout] 170 | try!(eintr!(listen, "listen", self.srvfd, self.max_conn)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/simplemux.rs:180:9 [INFO] [stdout] | [INFO] [stdout] 180 | try!(self.cepfd.register(self.srvfd, &ceinfo)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/simplemux.rs:189:37 [INFO] [stdout] | [INFO] [stdout] 189 | let epfd = EpollFd::new(try!(epoll_create())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/mod.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | try!(mask.thread_block()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/mod.rs:57:21 [INFO] [stdout] | [INFO] [stdout] 57 | let sigfd = try!(SignalFd::with_flags(&mask, SFD_NONBLOCK)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/mod.rs:60:25 [INFO] [stdout] | [INFO] [stdout] 60 | let mut epoll = try!(Epoll::new_with(loop_ms, |epfd| { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/mod.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | try!(epoll.epfd.register(fd, &siginfo)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/mod.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | try!(mask.thread_block()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/logging/mod.rs:15:51 [INFO] [stdout] | [INFO] [stdout] 15 | fn setup(&self, epfd: &EpollFd) -> Result>; [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Log` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/logging/mod.rs:118:48 [INFO] [stdout] | [INFO] [stdout] 118 | fn setup(&self, _: &EpollFd) -> Result> { [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Log` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsRawFd` [INFO] [stdout] --> src/lib.rs:87:25 [INFO] [stdout] | [INFO] [stdout] 87 | use std::os::unix::io::{AsRawFd, RawFd}; [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/lib.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | let b = try!(eintr!(unistd::write, "unistd::write", fd, buf)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:110:13 [INFO] [stdout] | [INFO] [stdout] 110 | let b = try!(eintr!(unistd::read, "unistd::read", fd, buf)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/protocol.rs:19:79 [INFO] [stdout] | [INFO] [stdout] 19 | fn get_handler(&self, p: Self::Protocol, epfd: EpollFd, id: usize) -> Box>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/poll/mod.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | handler: Box>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/poll/mod.rs:32:48 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn from_fd(epfd: EpollFd, handler: Box>, loop_ms: isize) -> Epoll { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/poll/mod.rs:45:18 [INFO] [stdout] | [INFO] [stdout] 45 | let fd = try!(epoll_create()); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/poll/mod.rs:42:41 [INFO] [stdout] | [INFO] [stdout] 42 | where F: FnOnce(EpollFd) -> Box> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/poll/mod.rs:56:19 [INFO] [stdout] | [INFO] [stdout] 56 | let cnt = try!(epoll_wait(self.epfd.fd, dst, self.loop_ms)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/poll/mod.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 64 | let cnt = try!(self.wait(dst)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/poll/mod.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | try!(epoll_ctl(self.fd, op, fd, interest)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/poll/mod.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | try!(self.ctl(EpollOp::EpollCtlMod, interest, fd)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/poll/mod.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | try!(self.ctl(EpollOp::EpollCtlAdd, interest, fd)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/poll/mod.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | try!(self.ctl(EpollOp::EpollCtlDel, &NO_INTEREST, fd)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/handler/echo.rs:39:26 [INFO] [stdout] | [INFO] [stdout] 39 | if let Some(n) = try!(read(fd, From::from(&mut self.buf))) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/handler/echo.rs:57:32 [INFO] [stdout] | [INFO] [stdout] 57 | if let Some(cnt) = try!(write(fd, From::from(&self.buf))) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/handler/sync.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | handlers: Slab>>, usize>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/simplemux.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | let inet = try!(addr.to_socket_addrs().unwrap().next().ok_or("could not parse sockaddr")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/simplemux.rs:84:18 [INFO] [stdout] | [INFO] [stdout] 84 | let fd = try!(epoll_create()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/simplemux.rs:89:21 [INFO] [stdout] | [INFO] [stdout] 89 | let srvfd = try!(socket(AddressFamily::Inet, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/simplemux.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | try!(eintr!(bind, "bind", self.srvfd, &self.sockaddr)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/simplemux.rs:170:9 [INFO] [stdout] | [INFO] [stdout] 170 | try!(eintr!(listen, "listen", self.srvfd, self.max_conn)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/simplemux.rs:180:9 [INFO] [stdout] | [INFO] [stdout] 180 | try!(self.cepfd.register(self.srvfd, &ceinfo)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/simplemux.rs:189:37 [INFO] [stdout] | [INFO] [stdout] 189 | let epfd = EpollFd::new(try!(epoll_create())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/mod.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | try!(mask.thread_block()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/mod.rs:57:21 [INFO] [stdout] | [INFO] [stdout] 57 | let sigfd = try!(SignalFd::with_flags(&mask, SFD_NONBLOCK)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/mod.rs:60:25 [INFO] [stdout] | [INFO] [stdout] 60 | let mut epoll = try!(Epoll::new_with(loop_ms, |epfd| { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/mod.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | try!(epoll.epfd.register(fd, &siginfo)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/server/mod.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | try!(mask.thread_block()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/logging/mod.rs:15:51 [INFO] [stdout] | [INFO] [stdout] 15 | fn setup(&self, epfd: &EpollFd) -> Result>; [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Log` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/logging/mod.rs:118:48 [INFO] [stdout] | [INFO] [stdout] 118 | fn setup(&self, _: &EpollFd) -> Result> { [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Log` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsRawFd` [INFO] [stdout] --> src/lib.rs:87:25 [INFO] [stdout] | [INFO] [stdout] 87 | use std::os::unix::io::{AsRawFd, RawFd}; [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/lib.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | let b = try!(eintr!(unistd::write, "unistd::write", fd, buf)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:110:13 [INFO] [stdout] | [INFO] [stdout] 110 | let b = try!(eintr!(unistd::read, "unistd::read", fd, buf)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/poll/mod.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | / lazy_static! { [INFO] [stdout] 16 | | static ref NO_INTEREST: EpollEvent = { [INFO] [stdout] 17 | | EpollEvent { [INFO] [stdout] 18 | | events: EpollEventKind::empty(), [INFO] [stdout] ... | [INFO] [stdout] 21 | | }; [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: missing generics for trait `handler::Handler` [INFO] [stdout] --> src/poll/mod.rs:151:10 [INFO] [stdout] | [INFO] [stdout] 151 | impl Handler for ChannelHandler { [INFO] [stdout] | ^^^^^^^ expected 1 generic argument [INFO] [stdout] | [INFO] [stdout] note: trait defined here, with 1 generic parameter: `E` [INFO] [stdout] --> src/handler/mod.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub trait Handler { [INFO] [stdout] | ^^^^^^^ - [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 151 | impl Handler for ChannelHandler { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | / error_chain! { [INFO] [stdout] 3 | | types { [INFO] [stdout] 4 | | Error, ErrorKind, ChainErr, Result; [INFO] [stdout] 5 | | } [INFO] [stdout] ... | [INFO] [stdout] 22 | | } [INFO] [stdout] 23 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/poll/mod.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | / lazy_static! { [INFO] [stdout] 16 | | static ref NO_INTEREST: EpollEvent = { [INFO] [stdout] 17 | | EpollEvent { [INFO] [stdout] 18 | | events: EpollEventKind::empty(), [INFO] [stdout] ... | [INFO] [stdout] 21 | | }; [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: missing generics for trait `handler::Handler` [INFO] [stdout] --> src/protocol.rs:87:62 [INFO] [stdout] | [INFO] [stdout] 87 | fn new(&self, _: usize, _: RawFd, _: EpollFd) -> Box { [INFO] [stdout] | ^^^^^^^ expected 1 generic argument [INFO] [stdout] | [INFO] [stdout] note: trait defined here, with 1 generic parameter: `E` [INFO] [stdout] --> src/handler/mod.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub trait Handler { [INFO] [stdout] | ^^^^^^^ - [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 87 | fn new(&self, _: usize, _: RawFd, _: EpollFd) -> Box> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | / error_chain! { [INFO] [stdout] 3 | | types { [INFO] [stdout] 4 | | Error, ErrorKind, ChainErr, Result; [INFO] [stdout] 5 | | } [INFO] [stdout] ... | [INFO] [stdout] 22 | | } [INFO] [stdout] 23 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 12 previous errors; 34 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0107, E0407. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0107`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rux` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/error.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | / error_chain! { [INFO] [stdout] 3 | | types { [INFO] [stdout] 4 | | Error, ErrorKind, ChainErr, Result; [INFO] [stdout] 5 | | } [INFO] [stdout] ... | [INFO] [stdout] 22 | | } [INFO] [stdout] 23 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors; 34 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "5c4b8e18e47bc4202762e6b1feb4ad2281fc131677d16ccd1c6b2985f242f2a3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5c4b8e18e47bc4202762e6b1feb4ad2281fc131677d16ccd1c6b2985f242f2a3", kill_on_drop: false }` [INFO] [stdout] 5c4b8e18e47bc4202762e6b1feb4ad2281fc131677d16ccd1c6b2985f242f2a3