[INFO] fetching crate rusty-keys 0.0.2...
[INFO] testing rusty-keys-0.0.2 against 1.90.0 for beta-1.91-3
[INFO] extracting crate rusty-keys 0.0.2 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate rusty-keys 0.0.2
[INFO] finished tweaking crates.io crate rusty-keys 0.0.2
[INFO] tweaked toml for crates.io crate rusty-keys 0.0.2 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rusty-keys 0.0.2 on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 18 packages to latest compatible versions
[INFO] [stderr]       Adding libudev v0.2.0 (available: v0.3.0)
[INFO] [stderr]       Adding nix v0.5.1 (available: v0.30.1)
[INFO] [stderr]       Adding toml v0.4.10 (available: v0.9.7)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded uinput-sys v0.1.7
[INFO] [stderr]   Downloaded libudev v0.2.0
[INFO] [stderr]   Downloaded ioctl-sys v0.5.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f862ff63829daea9f04bae107cb3cf6d77dc043e5d91b117122ca1bc46763e11
[INFO] running `Command { std: "docker" "start" "-a" "f862ff63829daea9f04bae107cb3cf6d77dc043e5d91b117122ca1bc46763e11", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f862ff63829daea9f04bae107cb3cf6d77dc043e5d91b117122ca1bc46763e11", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f862ff63829daea9f04bae107cb3cf6d77dc043e5d91b117122ca1bc46763e11", kill_on_drop: false }`
[INFO] [stdout] f862ff63829daea9f04bae107cb3cf6d77dc043e5d91b117122ca1bc46763e11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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" "RUSTDOCFLAGS=--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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f425ba3ac944b2149ff72ea5cfb55f04bc934b8a0ba70adffec99402550ec445
[INFO] running `Command { std: "docker" "start" "-a" "f425ba3ac944b2149ff72ea5cfb55f04bc934b8a0ba70adffec99402550ec445", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling ioctl-sys v0.5.2
[INFO] [stderr]    Compiling bitflags v0.4.0
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling toml v0.4.10
[INFO] [stderr]    Compiling nix v0.5.1
[INFO] [stderr]    Compiling uinput-sys v0.1.7
[INFO] [stderr]    Compiling libudev v0.2.0
[INFO] [stderr]    Compiling rusty-keys v0.0.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/device/builder.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |             fd:  try!(fcntl::open(path.as_ref(), fcntl::O_WRONLY | fcntl::O_NONBLOCK, stat::Mode::empty())),
[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/device/builder.rs:37:3
[INFO] [stdout]    |
[INFO] [stdout] 37 |         try!(enumerator.match_subsystem("misc"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/device/builder.rs:38:3
[INFO] [stdout]    |
[INFO] [stdout] 38 |         try!(enumerator.match_sysname("uinput"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/device/builder.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let     context    = try!(udev::Context::new());
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/device/builder.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let mut enumerator = try!(udev::Enumerator::new(&context));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/device/builder.rs:40:16
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let device = try!(try!(enumerator.scan_devices())
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/device/builder.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let device = try!(try!(enumerator.scan_devices())
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/device/builder.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |         Builder::open(try!(device.devnode().ok_or(Error::NotFound)))
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/device/builder.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let string = try!(CString::new(value.as_ref()));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/device/builder.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 |             try!(Err(nix::Error::from_errno(nix::Errno::EINVAL)));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/device/builder.rs:279:4
[INFO] [stdout]     |
[INFO] [stdout] 279 |             try!(unistd::write(self.fd, slice::from_raw_parts(ptr, size)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/device/builder.rs:282:4
[INFO] [stdout]     |
[INFO] [stdout] 282 |             try!(ui_dev_create(self.fd));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/device/device.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 |             try!(unistd::write(self.fd, slice::from_raw_parts(ptr, size)));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/device/device.rs:69:3
[INFO] [stdout]    |
[INFO] [stdout] 69 |         try!(self.press(kind, code));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/device/device.rs:70:3
[INFO] [stdout]    |
[INFO] [stdout] 70 |         try!(self.release(kind, code));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:47:29
[INFO] [stdout]    |
[INFO] [stdout] 47 |         f.write_str(error::Error::description(self))
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/keymapper.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 |     keymaps: Vec<Box<KeyMapper>>,
[INFO] [stdout]    |                      ^^^^^^^^^
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     keymaps: Vec<Box<dyn KeyMapper>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 err.description(),
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 err.description(),
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/keymapper.rs:101:34
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut keymaps: Vec<Box<KeyMapper>> = vec!(Box::new(Key::Noop)); // todo: can we share the box?
[INFO] [stdout]     |                                  ^^^^^^^^^
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut keymaps: Vec<Box<dyn KeyMapper>> = vec!(Box::new(Key::Noop)); // todo: can we share the box?
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/device/builder.rs:97:26
[INFO] [stdout]    |
[INFO] [stdout] 97 |             ui_set_evbit(self.fd, EV_KEY as *const c_int)?;
[INFO] [stdout]    |             ------------          ^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `*const i32`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note:     expected type `i32`
[INFO] [stdout]            found raw pointer `*const i32`
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/uinput-sys-0.1.7/src/lib.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | uin!(write ui_set_evbit   with b'U', 100; c_int);
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]   --> src/device/builder.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 |             ui_set_evbit(self.fd, EV_KEY as *const c_int)?;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `i32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Try` is not implemented for `i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/device/builder.rs:100:28
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 ui_set_keybit(self.fd, *key_code)?;
[INFO] [stdout]     |                 -------------          ^^^^^^^^^ expected `i32`, found `*const i32`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note:     expected type `i32`
[INFO] [stdout]             found raw pointer `*const i32`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/uinput-sys-0.1.7/src/lib.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  74 | uin!(write ui_set_keybit  with b'U', 101; c_int);
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/device/builder.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 ui_set_keybit(self.fd, *key_code)?;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `i32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/device/builder.rs:282:4
[INFO] [stdout]     |
[INFO] [stdout] 282 |             try!(ui_dev_create(self.fd));
[INFO] [stdout]     |             ^^^^^----------------------^
[INFO] [stdout]     |             |    |
[INFO] [stdout]     |             |    this expression has type `i32`
[INFO] [stdout]     |             expected `i32`, found `Result<_, _>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected type `i32`
[INFO] [stdout]                found enum `std::result::Result<_, _>`
[INFO] [stdout]     = note: this error originates in the macro `try` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/device/builder.rs:282:4
[INFO] [stdout]     |
[INFO] [stdout] 282 |             try!(ui_dev_create(self.fd));
[INFO] [stdout]     |             ^^^^^----------------------^
[INFO] [stdout]     |             |    |
[INFO] [stdout]     |             |    this expression has type `i32`
[INFO] [stdout]     |             expected `i32`, found `Result<_, _>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected type `i32`
[INFO] [stdout]                found enum `std::result::Result<_, _>`
[INFO] [stdout]     = note: this error originates in the macro `try` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `unwrap` found for type `i32` in the current scope
[INFO] [stdout]   --> src/device/device.rs:84:28
[INFO] [stdout]    |
[INFO] [stdout] 84 |             ui_dev_destroy(self.fd).unwrap();
[INFO] [stdout]    |                                     ^^^^^^ method not found in `i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/keymapper.rs:285:46
[INFO] [stdout]     |
[INFO] [stdout] 285 |     fn send_event(&self, key_state: &[bool], mut event: &mut input_event, device: &Device) {
[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] Some errors have detailed explanations: E0277, E0308, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rusty-keys` (lib) due to 7 previous errors; 21 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "f425ba3ac944b2149ff72ea5cfb55f04bc934b8a0ba70adffec99402550ec445", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f425ba3ac944b2149ff72ea5cfb55f04bc934b8a0ba70adffec99402550ec445", kill_on_drop: false }`
[INFO] [stdout] f425ba3ac944b2149ff72ea5cfb55f04bc934b8a0ba70adffec99402550ec445
