[INFO] crate rux 0.1.0 is already in cache
[INFO] checking rux-0.1.0 against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] extracting crate rux 0.1.0 into /workspace/builds/worker-2/source
[INFO] validating manifest of crates.io crate rux 0.1.0 on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[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-2/source/Cargo.toml
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"`
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] a58b3b5a1dea3476f0f3c65832e91886d92c238ca749c74109222a29572dc1f1
[INFO] running `"docker" "start" "-a" "a58b3b5a1dea3476f0f3c65832e91886d92c238ca749c74109222a29572dc1f1"`
[INFO] [stderr]     Checking pad v0.1.6
[INFO] [stderr]    Compiling nix v0.7.0
[INFO] [stderr]     Checking rux v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] error[E0407]: method `on_error` is not a member of trait `Handler`
[INFO] [stderr]   --> src/protocol.rs:63:9
[INFO] [stderr]    |
[INFO] [stderr] 63 | /         fn on_error(&mut self) -> Result<()> {
[INFO] [stderr] 64 | |             self.on_error = true;
[INFO] [stderr] 65 | |             Ok(())
[INFO] [stderr] 66 | |         }
[INFO] [stderr]    | |_________^ not a member of trait `Handler`
[INFO] [stderr] 
[INFO] [stderr] error[E0407]: method `on_close` is not a member of trait `Handler`
[INFO] [stderr]   --> src/protocol.rs:68:9
[INFO] [stderr]    |
[INFO] [stderr] 68 | /         fn on_close(&mut self) -> Result<()> {
[INFO] [stderr] 69 | |             self.on_close = true;
[INFO] [stderr] 70 | |             Ok(())
[INFO] [stderr] 71 | |         }
[INFO] [stderr]    | |_________^ not a member of trait `Handler`
[INFO] [stderr] 
[INFO] [stderr] error[E0407]: method `on_readable` is not a member of trait `Handler`
[INFO] [stderr]   --> src/protocol.rs:73:9
[INFO] [stderr]    |
[INFO] [stderr] 73 | /         fn on_readable(&mut self) -> Result<()> {
[INFO] [stderr] 74 | |             self.on_readable = true;
[INFO] [stderr] 75 | |             Ok(())
[INFO] [stderr] 76 | |         }
[INFO] [stderr]    | |_________^ not a member of trait `Handler`
[INFO] [stderr] 
[INFO] [stderr] error[E0407]: method `on_writable` is not a member of trait `Handler`
[INFO] [stderr]   --> src/protocol.rs:78:9
[INFO] [stderr]    |
[INFO] [stderr] 78 | /         fn on_writable(&mut self) -> Result<()> {
[INFO] [stderr] 79 | |             self.on_writable = true;
[INFO] [stderr] 80 | |             Ok(())
[INFO] [stderr] 81 | |         }
[INFO] [stderr]    | |_________^ not a member of trait `Handler`
[INFO] [stderr] 
[INFO] [stderr] error[E0407]: method `new` is not a member of trait `IOProtocol`
[INFO] [stderr]   --> src/protocol.rs:87:9
[INFO] [stderr]    |
[INFO] [stderr] 87 | /         fn new(&self, _: usize, _: RawFd, _: EpollFd) -> Box<Handler> {
[INFO] [stderr] 88 | |             Box::new(TestHandler {
[INFO] [stderr] 89 | |                 on_close: false,
[INFO] [stderr] 90 | |                 on_error: false,
[INFO] [stderr] ...  |
[INFO] [stderr] 93 | |             })
[INFO] [stderr] 94 | |         }
[INFO] [stderr]    | |_________^ not a member of trait `IOProtocol`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/poll/mod.rs:45:18
[INFO] [stderr]    |
[INFO] [stderr] 45 |         let fd = try!(epoll_create());
[INFO] [stderr]    |                  ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/poll/mod.rs:56:19
[INFO] [stderr]    |
[INFO] [stderr] 56 |         let cnt = try!(epoll_wait(self.epfd.fd, dst, self.loop_ms));
[INFO] [stderr]    |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/poll/mod.rs:64:19
[INFO] [stderr]    |
[INFO] [stderr] 64 |         let cnt = try!(self.wait(dst));
[INFO] [stderr]    |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/poll/mod.rs:102:9
[INFO] [stderr]     |
[INFO] [stderr] 102 |         try!(epoll_ctl(self.fd, op, fd, interest));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/poll/mod.rs:108:9
[INFO] [stderr]     |
[INFO] [stderr] 108 |         try!(self.ctl(EpollOp::EpollCtlMod, interest, fd));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/poll/mod.rs:114:9
[INFO] [stderr]     |
[INFO] [stderr] 114 |         try!(self.ctl(EpollOp::EpollCtlAdd, interest, fd));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/poll/mod.rs:120:9
[INFO] [stderr]     |
[INFO] [stderr] 120 |         try!(self.ctl(EpollOp::EpollCtlDel, &NO_INTEREST, fd));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/handler/echo.rs:39:26
[INFO] [stderr]    |
[INFO] [stderr] 39 |         if let Some(n) = try!(read(fd, From::from(&mut self.buf))) {
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/handler/echo.rs:57:32
[INFO] [stderr]    |
[INFO] [stderr] 57 |             if let Some(cnt) = try!(write(fd, From::from(&self.buf))) {
[INFO] [stderr]    |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/server/simplemux.rs:48:20
[INFO] [stderr]    |
[INFO] [stderr] 48 |         let inet = try!(addr.to_socket_addrs().unwrap().next().ok_or("could not parse sockaddr"));
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/server/simplemux.rs:84:18
[INFO] [stderr]    |
[INFO] [stderr] 84 |         let fd = try!(epoll_create());
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/server/simplemux.rs:89:21
[INFO] [stderr]    |
[INFO] [stderr] 89 |         let srvfd = try!(socket(AddressFamily::Inet,
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/server/simplemux.rs:167:9
[INFO] [stderr]     |
[INFO] [stderr] 167 |         try!(eintr!(bind, "bind", self.srvfd, &self.sockaddr));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/server/simplemux.rs:170:9
[INFO] [stderr]     |
[INFO] [stderr] 170 |         try!(eintr!(listen, "listen", self.srvfd, self.max_conn));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/server/simplemux.rs:180:9
[INFO] [stderr]     |
[INFO] [stderr] 180 |         try!(self.cepfd.register(self.srvfd, &ceinfo));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/server/simplemux.rs:189:37
[INFO] [stderr]     |
[INFO] [stderr] 189 |             let epfd = EpollFd::new(try!(epoll_create()));
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/server/mod.rs:48:13
[INFO] [stderr]    |
[INFO] [stderr] 48 |             try!(mask.thread_block());
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/server/mod.rs:55:9
[INFO] [stderr]    |
[INFO] [stderr] 55 |         try!(mask.thread_block());
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/server/mod.rs:57:21
[INFO] [stderr]    |
[INFO] [stderr] 57 |         let sigfd = try!(SignalFd::with_flags(&mask, SFD_NONBLOCK));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/server/mod.rs:60:25
[INFO] [stderr]    |
[INFO] [stderr] 60 |         let mut epoll = try!(Epoll::new_with(loop_ms, |epfd| {
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/server/mod.rs:86:9
[INFO] [stderr]    |
[INFO] [stderr] 86 |         try!(epoll.epfd.register(fd, &siginfo));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:104:13
[INFO] [stderr]     |
[INFO] [stderr] 104 |     let b = try!(eintr!(unistd::write, "unistd::write", fd, buf));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:110:13
[INFO] [stderr]     |
[INFO] [stderr] 110 |     let b = try!(eintr!(unistd::read, "unistd::read", fd, buf));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/protocol.rs:19:79
[INFO] [stderr]    |
[INFO] [stderr] 19 |     fn get_handler(&self, p: Self::Protocol, epfd: EpollFd, id: usize) -> Box<Handler<EpollEvent>>;
[INFO] [stderr]    |                                                                               ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/protocol.rs:87:62
[INFO] [stderr]    |
[INFO] [stderr] 87 |         fn new(&self, _: usize, _: RawFd, _: EpollFd) -> Box<Handler> {
[INFO] [stderr]    |                                                              ^^^^^^^ help: use `dyn`: `dyn Handler`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/poll/mod.rs:27:18
[INFO] [stderr]    |
[INFO] [stderr] 27 |     handler: Box<Handler<EpollEvent>>,
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/poll/mod.rs:32:48
[INFO] [stderr]    |
[INFO] [stderr] 32 |     pub fn from_fd(epfd: EpollFd, handler: Box<Handler<EpollEvent>>, loop_ms: isize) -> Epoll {
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/poll/mod.rs:42:41
[INFO] [stderr]    |
[INFO] [stderr] 42 |         where F: FnOnce(EpollFd) -> Box<Handler<EpollEvent>>
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/handler/sync.rs:17:32
[INFO] [stderr]    |
[INFO] [stderr] 17 |     handlers: Slab<RefCell<Box<Handler<EpollEvent>>>, usize>,
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/logging/mod.rs:15:51
[INFO] [stderr]    |
[INFO] [stderr] 15 |     fn setup(&self, epfd: &EpollFd) -> Result<Box<Log>>;
[INFO] [stderr]    |                                                   ^^^ help: use `dyn`: `dyn Log`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/logging/mod.rs:118:48
[INFO] [stderr]     |
[INFO] [stderr] 118 |     fn setup(&self, _: &EpollFd) -> Result<Box<Log>> {
[INFO] [stderr]     |                                                ^^^ help: use `dyn`: `dyn Log`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsRawFd`
[INFO] [stderr]   --> src/lib.rs:87:25
[INFO] [stderr]    |
[INFO] [stderr] 87 | use std::os::unix::io::{AsRawFd, RawFd};
[INFO] [stderr]    |                         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]   --> src/poll/mod.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | / lazy_static! {
[INFO] [stderr] 16 | |     static ref NO_INTEREST: EpollEvent = {
[INFO] [stderr] 17 | |         EpollEvent {
[INFO] [stderr] 18 | |             events: EpollEventKind::empty(),
[INFO] [stderr] ...  |
[INFO] [stderr] 21 | |     };
[INFO] [stderr] 22 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]   --> src/error.rs:2:1
[INFO] [stderr]    |
[INFO] [stderr] 2  | / error_chain! {
[INFO] [stderr] 3  | |     types {
[INFO] [stderr] 4  | |         Error, ErrorKind, ChainErr, Result;
[INFO] [stderr] 5  | |     }
[INFO] [stderr] ...  |
[INFO] [stderr] 22 | |     }
[INFO] [stderr] 23 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0107]: wrong number of type arguments: expected 1, found 0
[INFO] [stderr]   --> src/protocol.rs:87:62
[INFO] [stderr]    |
[INFO] [stderr] 87 |         fn new(&self, _: usize, _: RawFd, _: EpollFd) -> Box<Handler> {
[INFO] [stderr]    |                                                              ^^^^^^^ expected 1 type argument
[INFO] [stderr] 
[INFO] [stderr] error[E0107]: wrong number of type arguments: expected 1, found 0
[INFO] [stderr]    --> src/poll/mod.rs:151:10
[INFO] [stderr]     |
[INFO] [stderr] 151 |     impl Handler for ChannelHandler {
[INFO] [stderr]     |          ^^^^^^^ expected 1 type argument
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 7 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0107, E0407.
[INFO] [stderr] For more information about an error, try `rustc --explain E0107`.
[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] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/poll/mod.rs:45:18
[INFO] [stderr]    |
[INFO] [stderr] 45 |         let fd = try!(epoll_create());
[INFO] [stderr]    |                  ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/poll/mod.rs:56:19
[INFO] [stderr]    |
[INFO] [stderr] 56 |         let cnt = try!(epoll_wait(self.epfd.fd, dst, self.loop_ms));
[INFO] [stderr]    |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/poll/mod.rs:64:19
[INFO] [stderr]    |
[INFO] [stderr] 64 |         let cnt = try!(self.wait(dst));
[INFO] [stderr]    |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/poll/mod.rs:102:9
[INFO] [stderr]     |
[INFO] [stderr] 102 |         try!(epoll_ctl(self.fd, op, fd, interest));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/poll/mod.rs:108:9
[INFO] [stderr]     |
[INFO] [stderr] 108 |         try!(self.ctl(EpollOp::EpollCtlMod, interest, fd));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/poll/mod.rs:114:9
[INFO] [stderr]     |
[INFO] [stderr] 114 |         try!(self.ctl(EpollOp::EpollCtlAdd, interest, fd));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/poll/mod.rs:120:9
[INFO] [stderr]     |
[INFO] [stderr] 120 |         try!(self.ctl(EpollOp::EpollCtlDel, &NO_INTEREST, fd));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/handler/echo.rs:39:26
[INFO] [stderr]    |
[INFO] [stderr] 39 |         if let Some(n) = try!(read(fd, From::from(&mut self.buf))) {
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/handler/echo.rs:57:32
[INFO] [stderr]    |
[INFO] [stderr] 57 |             if let Some(cnt) = try!(write(fd, From::from(&self.buf))) {
[INFO] [stderr]    |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/server/simplemux.rs:48:20
[INFO] [stderr]    |
[INFO] [stderr] 48 |         let inet = try!(addr.to_socket_addrs().unwrap().next().ok_or("could not parse sockaddr"));
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/server/simplemux.rs:84:18
[INFO] [stderr]    |
[INFO] [stderr] 84 |         let fd = try!(epoll_create());
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/server/simplemux.rs:89:21
[INFO] [stderr]    |
[INFO] [stderr] 89 |         let srvfd = try!(socket(AddressFamily::Inet,
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/server/simplemux.rs:167:9
[INFO] [stderr]     |
[INFO] [stderr] 167 |         try!(eintr!(bind, "bind", self.srvfd, &self.sockaddr));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/server/simplemux.rs:170:9
[INFO] [stderr]     |
[INFO] [stderr] 170 |         try!(eintr!(listen, "listen", self.srvfd, self.max_conn));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/server/simplemux.rs:180:9
[INFO] [stderr]     |
[INFO] [stderr] 180 |         try!(self.cepfd.register(self.srvfd, &ceinfo));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/server/simplemux.rs:189:37
[INFO] [stderr]     |
[INFO] [stderr] 189 |             let epfd = EpollFd::new(try!(epoll_create()));
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/server/mod.rs:48:13
[INFO] [stderr]    |
[INFO] [stderr] 48 |             try!(mask.thread_block());
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/server/mod.rs:55:9
[INFO] [stderr]    |
[INFO] [stderr] 55 |         try!(mask.thread_block());
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/server/mod.rs:57:21
[INFO] [stderr]    |
[INFO] [stderr] 57 |         let sigfd = try!(SignalFd::with_flags(&mask, SFD_NONBLOCK));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/server/mod.rs:60:25
[INFO] [stderr]    |
[INFO] [stderr] 60 |         let mut epoll = try!(Epoll::new_with(loop_ms, |epfd| {
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/server/mod.rs:86:9
[INFO] [stderr]    |
[INFO] [stderr] 86 |         try!(epoll.epfd.register(fd, &siginfo));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:104:13
[INFO] [stderr]     |
[INFO] [stderr] 104 |     let b = try!(eintr!(unistd::write, "unistd::write", fd, buf));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:110:13
[INFO] [stderr]     |
[INFO] [stderr] 110 |     let b = try!(eintr!(unistd::read, "unistd::read", fd, buf));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/protocol.rs:19:79
[INFO] [stderr]    |
[INFO] [stderr] 19 |     fn get_handler(&self, p: Self::Protocol, epfd: EpollFd, id: usize) -> Box<Handler<EpollEvent>>;
[INFO] [stderr]    |                                                                               ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/poll/mod.rs:27:18
[INFO] [stderr]    |
[INFO] [stderr] 27 |     handler: Box<Handler<EpollEvent>>,
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/poll/mod.rs:32:48
[INFO] [stderr]    |
[INFO] [stderr] 32 |     pub fn from_fd(epfd: EpollFd, handler: Box<Handler<EpollEvent>>, loop_ms: isize) -> Epoll {
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/poll/mod.rs:42:41
[INFO] [stderr]    |
[INFO] [stderr] 42 |         where F: FnOnce(EpollFd) -> Box<Handler<EpollEvent>>
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/handler/sync.rs:17:32
[INFO] [stderr]    |
[INFO] [stderr] 17 |     handlers: Slab<RefCell<Box<Handler<EpollEvent>>>, usize>,
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/logging/mod.rs:15:51
[INFO] [stderr]    |
[INFO] [stderr] 15 |     fn setup(&self, epfd: &EpollFd) -> Result<Box<Log>>;
[INFO] [stderr]    |                                                   ^^^ help: use `dyn`: `dyn Log`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/logging/mod.rs:118:48
[INFO] [stderr]     |
[INFO] [stderr] 118 |     fn setup(&self, _: &EpollFd) -> Result<Box<Log>> {
[INFO] [stderr]     |                                                ^^^ help: use `dyn`: `dyn Log`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsRawFd`
[INFO] [stderr]   --> src/lib.rs:87:25
[INFO] [stderr]    |
[INFO] [stderr] 87 | use std::os::unix::io::{AsRawFd, RawFd};
[INFO] [stderr]    |                         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]   --> src/poll/mod.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | / lazy_static! {
[INFO] [stderr] 16 | |     static ref NO_INTEREST: EpollEvent = {
[INFO] [stderr] 17 | |         EpollEvent {
[INFO] [stderr] 18 | |             events: EpollEventKind::empty(),
[INFO] [stderr] ...  |
[INFO] [stderr] 21 | |     };
[INFO] [stderr] 22 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]   --> src/error.rs:2:1
[INFO] [stderr]    |
[INFO] [stderr] 2  | / error_chain! {
[INFO] [stderr] 3  | |     types {
[INFO] [stderr] 4  | |         Error, ErrorKind, ChainErr, Result;
[INFO] [stderr] 5  | |     }
[INFO] [stderr] ...  |
[INFO] [stderr] 22 | |     }
[INFO] [stderr] 23 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting
[INFO] [stderr]   --> src/error.rs:2:1
[INFO] [stderr]    |
[INFO] [stderr] 2  | / error_chain! {
[INFO] [stderr] 3  | |     types {
[INFO] [stderr] 4  | |         Error, ErrorKind, ChainErr, Result;
[INFO] [stderr] 5  | |     }
[INFO] [stderr] ...  |
[INFO] [stderr] 22 | |     }
[INFO] [stderr] 23 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/server/mod.rs:108:39
[INFO] [stderr]     |
[INFO] [stderr] 108 |         trace!("ready(): {:?}: {:?}", ev.data, ev.events);
[INFO] [stderr]     |                                       ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(safe_packed_borrows)]` 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 a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/server/mod.rs:108:48
[INFO] [stderr]     |
[INFO] [stderr] 108 |         trace!("ready(): {:?}: {:?}", ev.data, ev.events);
[INFO] [stderr]     |                                                ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `epfd`
[INFO] [stderr]   --> src/server/mod.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     epfd: EpollFd,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/handler/echo.rs:91:13
[INFO] [stderr]    |
[INFO] [stderr] 91 |             ::nix::unistd::close(fd);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] error: build failed
[INFO] running `"docker" "inspect" "a58b3b5a1dea3476f0f3c65832e91886d92c238ca749c74109222a29572dc1f1"`
[INFO] running `"docker" "rm" "-f" "a58b3b5a1dea3476f0f3c65832e91886d92c238ca749c74109222a29572dc1f1"`
[INFO] [stdout] a58b3b5a1dea3476f0f3c65832e91886d92c238ca749c74109222a29572dc1f1
