[INFO] cloning repository https://github.com/wzhd/kseqi
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wzhd/kseqi" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwzhd%2Fkseqi", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwzhd%2Fkseqi'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8cf7804ed7ee5f57884b9d6d4a101a7563f9ec6a
[INFO] testing wzhd/kseqi against 1.90.0 for beta-1.91-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwzhd%2Fkseqi" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/wzhd/kseqi
[INFO] finished tweaking git repo https://github.com/wzhd/kseqi
[INFO] tweaked toml for git repo https://github.com/wzhd/kseqi written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/wzhd/kseqi 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] crate git repo https://github.com/wzhd/kseqi already has a lockfile, it will not be regenerated
[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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] b6ed5edbcb0cf7731f070a23c0d8b32a67cbb19b359bcd3100fb44efcb219ec0
[INFO] running `Command { std: "docker" "start" "-a" "b6ed5edbcb0cf7731f070a23c0d8b32a67cbb19b359bcd3100fb44efcb219ec0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b6ed5edbcb0cf7731f070a23c0d8b32a67cbb19b359bcd3100fb44efcb219ec0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b6ed5edbcb0cf7731f070a23c0d8b32a67cbb19b359bcd3100fb44efcb219ec0", kill_on_drop: false }`
[INFO] [stdout] b6ed5edbcb0cf7731f070a23c0d8b32a67cbb19b359bcd3100fb44efcb219ec0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 91a3fa1db04fe051486aa96c7ea6b4821ab28b77ac4608cb56729bd629cf6778
[INFO] running `Command { std: "docker" "start" "-a" "91a3fa1db04fe051486aa96c7ea6b4821ab28b77ac4608cb56729bd629cf6778", kill_on_drop: false }`
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling libc v0.2.137
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling termcolor v1.2.0
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling x11-dl v2.20.1
[INFO] [stderr]    Compiling env_logger v0.10.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling mio v0.8.5
[INFO] [stderr]    Compiling kseqi-desktop v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/xdl/xinput2.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Ok((xip2))
[INFO] [stdout]    |        ^    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 28 -     Ok((xip2))
[INFO] [stdout] 28 +     Ok(xip2)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/xdl/xinput2.rs:294:22
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let attach = (self.xidi.attachment );
[INFO] [stdout]     |                      ^                    ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 294 -         let attach = (self.xidi.attachment );
[INFO] [stdout] 294 +         let attach = self.xidi.attachment;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/xdl/mod.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let event = (&*event);
[INFO] [stdout]     |                     ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 115 -         let event = (&*event);
[INFO] [stdout] 115 +         let event = &*event;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/xdl/mod.rs:527:20
[INFO] [stdout]     |
[INFO] [stdout] 527 |             kbs ^= (1 << b1p);
[INFO] [stdout]     |                    ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 527 -             kbs ^= (1 << b1p);
[INFO] [stdout] 527 +             kbs ^= 1 << b1p;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/conf/mod.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         for (a) in self.acts.iter() {
[INFO] [stdout]     |             ^ ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 118 -         for (a) in self.acts.iter() {
[INFO] [stdout] 118 +         for a in self.acts.iter() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/conf/mod.rs:173:24
[INFO] [stdout]     |
[INFO] [stdout] 173 |             let a = if (&self.sq[..i].iter().filter(|&a| a == k).count() %2 ==0) { "↘"}else {"↗"};
[INFO] [stdout]     |                        ^                                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 173 -             let a = if (&self.sq[..i].iter().filter(|&a| a == k).count() %2 ==0) { "↘"}else {"↗"};
[INFO] [stdout] 173 +             let a = if &self.sq[..i].iter().filter(|&a| a == k).count() %2 ==0 { "↘"}else {"↗"};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/conf/mod.rs:213:43
[INFO] [stdout]     |
[INFO] [stdout] 213 |             Ok((input, a)) => if let Some((sqa)) = a {
[INFO] [stdout]     |                                           ^   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 213 -             Ok((input, a)) => if let Some((sqa)) = a {
[INFO] [stdout] 213 +             Ok((input, a)) => if let Some(sqa) = a {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/signal.rs:23:47
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let os_handler = os_handler as *const extern fn(libc::c_int) as _;
[INFO] [stdout]    |                                               ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/signal.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 |     Ok((r))
[INFO] [stdout]    |        ^ ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 32 -     Ok((r))
[INFO] [stdout] 32 +     Ok(r)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/lib.rs:192:22
[INFO] [stdout]     |
[INFO] [stdout] 192 |                 Some((de)) => {
[INFO] [stdout]     |                      ^  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 192 -                 Some((de)) => {
[INFO] [stdout] 192 +                 Some(de) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `XFreer` is never constructed
[INFO] [stdout]   --> src/xdl/util.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub(crate) struct XFreer<'a> {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `HierarchyInfo` is never used
[INFO] [stdout]   --> src/xdl/data.rs:71:7
[INFO] [stdout]    |
[INFO] [stdout] 71 | trait HierarchyInfo {
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XI_HierarchyChanged` should have an upper case name
[INFO] [stdout]    --> src/xdl/mod.rs:288:17
[INFO] [stdout]     |
[INFO] [stdout] 288 |                 XI_HierarchyChanged  => {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XI_HIERARCHY_CHANGED`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XI_DeviceChanged` should have an upper case name
[INFO] [stdout]    --> src/xdl/mod.rs:295:17
[INFO] [stdout]     |
[INFO] [stdout] 295 |                 XI_DeviceChanged  => Some(Event::XIDeviceChange(*(xcookie.data as *mut _))),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XI_DEVICE_CHANGED`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/xdl/mod.rs:361:21
[INFO] [stdout]     |
[INFO] [stdout] 361 |     pub fn ext_list(&self) -> Extensions {
[INFO] [stdout]     |                     ^^^^^     ---------- the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 361 |     pub fn ext_list(&self) -> Extensions<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/xdl/mod.rs:454:27
[INFO] [stdout]     |
[INFO] [stdout] 454 |     pub fn modifier_codes(&self) -> ModifierCodes  {
[INFO] [stdout]     |                           ^^^^^     ------------- the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 454 |     pub fn modifier_codes(&self) -> ModifierCodes<'_>  {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `BadAccess` should have an upper case name
[INFO] [stdout]   --> src/xdl/err.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         BadAccess => XlibErr::Access,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to upper case: `BAD_ACCESS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `BadValue` should have an upper case name
[INFO] [stdout]   --> src/xdl/err.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         BadValue  => XlibErr::Value,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to upper case: `BAD_VALUE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `BadWindow` should have an upper case name
[INFO] [stdout]   --> src/xdl/err.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         BadWindow  => XlibErr::Window,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to upper case: `BAD_WINDOW`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/xdl/xinput2.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn query_device(&self, dev: Option<i32>) -> DeviceInfos {
[INFO] [stdout]    |                         ^^^^^                       ----------- the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn query_device(&self, dev: Option<i32>) -> DeviceInfos<'_> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/xdl/xinput2.rs:201:24
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub(crate) fn iter(&self)-> impl Iterator<Item = DeviceInfo> {
[INFO] [stdout]     |                        ^^^^^                         ---------- the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub(crate) fn iter(&self)-> impl Iterator<Item = DeviceInfo<'_>> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XIKeyClass` should have an upper case name
[INFO] [stdout]    --> src/xdl/xinput2.rs:236:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 XIKeyClass => {
[INFO] [stdout]     |                 ^^^^^^^^^^ help: convert the identifier to upper case: `XIKEY_CLASS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XIMasterPointer` should have an upper case name
[INFO] [stdout]    --> src/xdl/xinput2.rs:338:13
[INFO] [stdout]     |
[INFO] [stdout] 338 |             XIMasterPointer => Self::MasterPointer,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XIMASTER_POINTER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XIMasterKeyboard` should have an upper case name
[INFO] [stdout]    --> src/xdl/xinput2.rs:339:13
[INFO] [stdout]     |
[INFO] [stdout] 339 |             XIMasterKeyboard => Self::MasterKeyboard,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XIMASTER_KEYBOARD`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XISlavePointer` should have an upper case name
[INFO] [stdout]    --> src/xdl/xinput2.rs:340:13
[INFO] [stdout]     |
[INFO] [stdout] 340 |             XISlavePointer => Self::SlavePointer,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XISLAVE_POINTER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XISlaveKeyboard` should have an upper case name
[INFO] [stdout]    --> src/xdl/xinput2.rs:341:13
[INFO] [stdout]     |
[INFO] [stdout] 341 |             XISlaveKeyboard => Self::SlaveKeyboard,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XISLAVE_KEYBOARD`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XIFloatingSlave` should have an upper case name
[INFO] [stdout]    --> src/xdl/xinput2.rs:342:13
[INFO] [stdout]     |
[INFO] [stdout] 342 |             XIFloatingSlave => Self::FloatingSlave,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XIFLOATING_SLAVE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XI_KeyPress` should have an upper case name
[INFO] [stdout]    --> src/xdl/data.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |             XI_KeyPress => {
[INFO] [stdout]     |             ^^^^^^^^^^^ help: convert the identifier to upper case: `XI_KEY_PRESS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XI_KeyRelease` should have an upper case name
[INFO] [stdout]    --> src/xdl/data.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |             XI_KeyRelease => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: convert the identifier to upper case: `XI_KEY_RELEASE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conf/parse.rs:53:22
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn lit_or_esc(input: &str) -> IResult<&str, Cow<str>> {
[INFO] [stdout]    |                      ^^^^             ----  -------- the same lifetime is hidden here
[INFO] [stdout]    |                      |                |
[INFO] [stdout]    |                      |                the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn lit_or_esc(input: &str) -> IResult<&str, Cow<'_, str>> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conf/parse.rs:62:31
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn content_with_escape(input: &str) -> IResult<&str, Cow<str>> {
[INFO] [stdout]    |                               ^^^^             ----  -------- the same lifetime is hidden here
[INFO] [stdout]    |                               |                |
[INFO] [stdout]    |                               |                the same lifetime is elided here
[INFO] [stdout]    |                               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn content_with_escape(input: &str) -> IResult<&str, Cow<'_, str>> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conf/parse.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn quoted(input: &str) -> IResult<&str, Cow<str>> {
[INFO] [stdout]    |                  ^^^^             ----  -------- the same lifetime is hidden here
[INFO] [stdout]    |                  |                |
[INFO] [stdout]    |                  |                the same lifetime is elided here
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn quoted(input: &str) -> IResult<&str, Cow<'_, str>> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conf/parse.rs:80:27
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn quoted_or_plain(input: &str) -> IResult<&str, Cow<str>> {
[INFO] [stdout]    |                           ^^^^             ----  -------- the same lifetime is hidden here
[INFO] [stdout]    |                           |                |
[INFO] [stdout]    |                           |                the same lifetime is elided here
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn quoted_or_plain(input: &str) -> IResult<&str, Cow<'_, str>> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conf/parse.rs:86:16
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn varg(input: &str) -> IResult<&str, Vec<Cow<str>>> {
[INFO] [stdout]    |                ^^^^             ----      -------- the same lifetime is hidden here
[INFO] [stdout]    |                |                |
[INFO] [stdout]    |                |                the same lifetime is elided here
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn varg(input: &str) -> IResult<&str, Vec<Cow<'_, str>>> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conf/parse.rs:104:27
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn action_text_arg(input: &str) -> IResult<&str, Cow<str>> {
[INFO] [stdout]     |                           ^^^^             ----  -------- the same lifetime is hidden here
[INFO] [stdout]     |                           |                |
[INFO] [stdout]     |                           |                the same lifetime is elided here
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn action_text_arg(input: &str) -> IResult<&str, Cow<'_, str>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/bin/keyv.rs:22:23
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let Some(e) = ( x.recv_timeout(None)) else {
[INFO] [stdout]    |                       ^^                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 22 -         let Some(e) = ( x.recv_timeout(None)) else {
[INFO] [stdout] 22 +         let Some(e) = x.recv_timeout(None) else {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.65s
[INFO] running `Command { std: "docker" "inspect" "91a3fa1db04fe051486aa96c7ea6b4821ab28b77ac4608cb56729bd629cf6778", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "91a3fa1db04fe051486aa96c7ea6b4821ab28b77ac4608cb56729bd629cf6778", kill_on_drop: false }`
[INFO] [stdout] 91a3fa1db04fe051486aa96c7ea6b4821ab28b77ac4608cb56729bd629cf6778
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9d941b111fd4a240a1fb4dbaf93340e8eb433e9ac67dae6b8ba538d60401d883
[INFO] running `Command { std: "docker" "start" "-a" "9d941b111fd4a240a1fb4dbaf93340e8eb433e9ac67dae6b8ba538d60401d883", kill_on_drop: false }`
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/xdl/xinput2.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Ok((xip2))
[INFO] [stdout]    |        ^    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 28 -     Ok((xip2))
[INFO] [stdout] 28 +     Ok(xip2)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/xdl/xinput2.rs:294:22
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let attach = (self.xidi.attachment );
[INFO] [stdout]     |                      ^                    ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 294 -         let attach = (self.xidi.attachment );
[INFO] [stdout] 294 +         let attach = self.xidi.attachment;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/xdl/mod.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let event = (&*event);
[INFO] [stdout]     |                     ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 115 -         let event = (&*event);
[INFO] [stdout] 115 +         let event = &*event;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/xdl/mod.rs:527:20
[INFO] [stdout]     |
[INFO] [stdout] 527 |             kbs ^= (1 << b1p);
[INFO] [stdout]     |                    ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 527 -             kbs ^= (1 << b1p);
[INFO] [stdout] 527 +             kbs ^= 1 << b1p;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/conf/mod.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         for (a) in self.acts.iter() {
[INFO] [stdout]     |             ^ ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 118 -         for (a) in self.acts.iter() {
[INFO] [stdout] 118 +         for a in self.acts.iter() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/conf/mod.rs:173:24
[INFO] [stdout]     |
[INFO] [stdout] 173 |             let a = if (&self.sq[..i].iter().filter(|&a| a == k).count() %2 ==0) { "↘"}else {"↗"};
[INFO] [stdout]     |                        ^                                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 173 -             let a = if (&self.sq[..i].iter().filter(|&a| a == k).count() %2 ==0) { "↘"}else {"↗"};
[INFO] [stdout] 173 +             let a = if &self.sq[..i].iter().filter(|&a| a == k).count() %2 ==0 { "↘"}else {"↗"};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/conf/mod.rs:213:43
[INFO] [stdout]     |
[INFO] [stdout] 213 |             Ok((input, a)) => if let Some((sqa)) = a {
[INFO] [stdout]     |                                           ^   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 213 -             Ok((input, a)) => if let Some((sqa)) = a {
[INFO] [stdout] 213 +             Ok((input, a)) => if let Some(sqa) = a {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/signal.rs:23:47
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let os_handler = os_handler as *const extern fn(libc::c_int) as _;
[INFO] [stdout]    |                                               ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/signal.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 |     Ok((r))
[INFO] [stdout]    |        ^ ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 32 -     Ok((r))
[INFO] [stdout] 32 +     Ok(r)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/lib.rs:192:22
[INFO] [stdout]     |
[INFO] [stdout] 192 |                 Some((de)) => {
[INFO] [stdout]     |                      ^  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 192 -                 Some((de)) => {
[INFO] [stdout] 192 +                 Some(de) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `XFreer` is never constructed
[INFO] [stdout]   --> src/xdl/util.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub(crate) struct XFreer<'a> {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `HierarchyInfo` is never used
[INFO] [stdout]   --> src/xdl/data.rs:71:7
[INFO] [stdout]    |
[INFO] [stdout] 71 | trait HierarchyInfo {
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XI_HierarchyChanged` should have an upper case name
[INFO] [stdout]    --> src/xdl/mod.rs:288:17
[INFO] [stdout]     |
[INFO] [stdout] 288 |                 XI_HierarchyChanged  => {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XI_HIERARCHY_CHANGED`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XI_DeviceChanged` should have an upper case name
[INFO] [stdout]    --> src/xdl/mod.rs:295:17
[INFO] [stdout]     |
[INFO] [stdout] 295 |                 XI_DeviceChanged  => Some(Event::XIDeviceChange(*(xcookie.data as *mut _))),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XI_DEVICE_CHANGED`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/xdl/mod.rs:361:21
[INFO] [stdout]     |
[INFO] [stdout] 361 |     pub fn ext_list(&self) -> Extensions {
[INFO] [stdout]     |                     ^^^^^     ---------- the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 361 |     pub fn ext_list(&self) -> Extensions<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/xdl/mod.rs:454:27
[INFO] [stdout]     |
[INFO] [stdout] 454 |     pub fn modifier_codes(&self) -> ModifierCodes  {
[INFO] [stdout]     |                           ^^^^^     ------------- the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 454 |     pub fn modifier_codes(&self) -> ModifierCodes<'_>  {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `BadAccess` should have an upper case name
[INFO] [stdout]   --> src/xdl/err.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         BadAccess => XlibErr::Access,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to upper case: `BAD_ACCESS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `BadValue` should have an upper case name
[INFO] [stdout]   --> src/xdl/err.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         BadValue  => XlibErr::Value,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to upper case: `BAD_VALUE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `BadWindow` should have an upper case name
[INFO] [stdout]   --> src/xdl/err.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         BadWindow  => XlibErr::Window,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to upper case: `BAD_WINDOW`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/xdl/xinput2.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn query_device(&self, dev: Option<i32>) -> DeviceInfos {
[INFO] [stdout]    |                         ^^^^^                       ----------- the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn query_device(&self, dev: Option<i32>) -> DeviceInfos<'_> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/xdl/xinput2.rs:201:24
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub(crate) fn iter(&self)-> impl Iterator<Item = DeviceInfo> {
[INFO] [stdout]     |                        ^^^^^                         ---------- the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub(crate) fn iter(&self)-> impl Iterator<Item = DeviceInfo<'_>> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling kseqi-desktop v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: constant in pattern `XIKeyClass` should have an upper case name
[INFO] [stdout]    --> src/xdl/xinput2.rs:236:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 XIKeyClass => {
[INFO] [stdout]     |                 ^^^^^^^^^^ help: convert the identifier to upper case: `XIKEY_CLASS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XIMasterPointer` should have an upper case name
[INFO] [stdout]    --> src/xdl/xinput2.rs:338:13
[INFO] [stdout]     |
[INFO] [stdout] 338 |             XIMasterPointer => Self::MasterPointer,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XIMASTER_POINTER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XIMasterKeyboard` should have an upper case name
[INFO] [stdout]    --> src/xdl/xinput2.rs:339:13
[INFO] [stdout]     |
[INFO] [stdout] 339 |             XIMasterKeyboard => Self::MasterKeyboard,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XIMASTER_KEYBOARD`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XISlavePointer` should have an upper case name
[INFO] [stdout]    --> src/xdl/xinput2.rs:340:13
[INFO] [stdout]     |
[INFO] [stdout] 340 |             XISlavePointer => Self::SlavePointer,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XISLAVE_POINTER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XISlaveKeyboard` should have an upper case name
[INFO] [stdout]    --> src/xdl/xinput2.rs:341:13
[INFO] [stdout]     |
[INFO] [stdout] 341 |             XISlaveKeyboard => Self::SlaveKeyboard,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XISLAVE_KEYBOARD`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XIFloatingSlave` should have an upper case name
[INFO] [stdout]    --> src/xdl/xinput2.rs:342:13
[INFO] [stdout]     |
[INFO] [stdout] 342 |             XIFloatingSlave => Self::FloatingSlave,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XIFLOATING_SLAVE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XI_KeyPress` should have an upper case name
[INFO] [stdout]    --> src/xdl/data.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |             XI_KeyPress => {
[INFO] [stdout]     |             ^^^^^^^^^^^ help: convert the identifier to upper case: `XI_KEY_PRESS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XI_KeyRelease` should have an upper case name
[INFO] [stdout]    --> src/xdl/data.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |             XI_KeyRelease => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: convert the identifier to upper case: `XI_KEY_RELEASE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conf/parse.rs:53:22
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn lit_or_esc(input: &str) -> IResult<&str, Cow<str>> {
[INFO] [stdout]    |                      ^^^^             ----  -------- the same lifetime is hidden here
[INFO] [stdout]    |                      |                |
[INFO] [stdout]    |                      |                the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn lit_or_esc(input: &str) -> IResult<&str, Cow<'_, str>> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conf/parse.rs:62:31
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn content_with_escape(input: &str) -> IResult<&str, Cow<str>> {
[INFO] [stdout]    |                               ^^^^             ----  -------- the same lifetime is hidden here
[INFO] [stdout]    |                               |                |
[INFO] [stdout]    |                               |                the same lifetime is elided here
[INFO] [stdout]    |                               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn content_with_escape(input: &str) -> IResult<&str, Cow<'_, str>> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conf/parse.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn quoted(input: &str) -> IResult<&str, Cow<str>> {
[INFO] [stdout]    |                  ^^^^             ----  -------- the same lifetime is hidden here
[INFO] [stdout]    |                  |                |
[INFO] [stdout]    |                  |                the same lifetime is elided here
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn quoted(input: &str) -> IResult<&str, Cow<'_, str>> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conf/parse.rs:80:27
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn quoted_or_plain(input: &str) -> IResult<&str, Cow<str>> {
[INFO] [stdout]    |                           ^^^^             ----  -------- the same lifetime is hidden here
[INFO] [stdout]    |                           |                |
[INFO] [stdout]    |                           |                the same lifetime is elided here
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn quoted_or_plain(input: &str) -> IResult<&str, Cow<'_, str>> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conf/parse.rs:86:16
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn varg(input: &str) -> IResult<&str, Vec<Cow<str>>> {
[INFO] [stdout]    |                ^^^^             ----      -------- the same lifetime is hidden here
[INFO] [stdout]    |                |                |
[INFO] [stdout]    |                |                the same lifetime is elided here
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn varg(input: &str) -> IResult<&str, Vec<Cow<'_, str>>> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conf/parse.rs:104:27
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn action_text_arg(input: &str) -> IResult<&str, Cow<str>> {
[INFO] [stdout]     |                           ^^^^             ----  -------- the same lifetime is hidden here
[INFO] [stdout]     |                           |                |
[INFO] [stdout]     |                           |                the same lifetime is elided here
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn action_text_arg(input: &str) -> IResult<&str, Cow<'_, str>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/bin/keyv.rs:22:23
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let Some(e) = ( x.recv_timeout(None)) else {
[INFO] [stdout]    |                       ^^                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 22 -         let Some(e) = ( x.recv_timeout(None)) else {
[INFO] [stdout] 22 +         let Some(e) = x.recv_timeout(None) else {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/xdl/xinput2.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Ok((xip2))
[INFO] [stdout]    |        ^    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 28 -     Ok((xip2))
[INFO] [stdout] 28 +     Ok(xip2)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/xdl/xinput2.rs:294:22
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let attach = (self.xidi.attachment );
[INFO] [stdout]     |                      ^                    ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 294 -         let attach = (self.xidi.attachment );
[INFO] [stdout] 294 +         let attach = self.xidi.attachment;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/xdl/mod.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let event = (&*event);
[INFO] [stdout]     |                     ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 115 -         let event = (&*event);
[INFO] [stdout] 115 +         let event = &*event;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/xdl/mod.rs:527:20
[INFO] [stdout]     |
[INFO] [stdout] 527 |             kbs ^= (1 << b1p);
[INFO] [stdout]     |                    ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 527 -             kbs ^= (1 << b1p);
[INFO] [stdout] 527 +             kbs ^= 1 << b1p;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/conf/mod.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         for (a) in self.acts.iter() {
[INFO] [stdout]     |             ^ ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 118 -         for (a) in self.acts.iter() {
[INFO] [stdout] 118 +         for a in self.acts.iter() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/conf/mod.rs:173:24
[INFO] [stdout]     |
[INFO] [stdout] 173 |             let a = if (&self.sq[..i].iter().filter(|&a| a == k).count() %2 ==0) { "↘"}else {"↗"};
[INFO] [stdout]     |                        ^                                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 173 -             let a = if (&self.sq[..i].iter().filter(|&a| a == k).count() %2 ==0) { "↘"}else {"↗"};
[INFO] [stdout] 173 +             let a = if &self.sq[..i].iter().filter(|&a| a == k).count() %2 ==0 { "↘"}else {"↗"};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/conf/mod.rs:213:43
[INFO] [stdout]     |
[INFO] [stdout] 213 |             Ok((input, a)) => if let Some((sqa)) = a {
[INFO] [stdout]     |                                           ^   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 213 -             Ok((input, a)) => if let Some((sqa)) = a {
[INFO] [stdout] 213 +             Ok((input, a)) => if let Some(sqa) = a {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/conf/mod.rs:378:36
[INFO] [stdout]     |
[INFO] [stdout] 378 |         let sv = SmoVec::from_iter((0..10)).unwrap();
[INFO] [stdout]     |                                    ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 378 -         let sv = SmoVec::from_iter((0..10)).unwrap();
[INFO] [stdout] 378 +         let sv = SmoVec::from_iter(0..10).unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/conf/mod.rs:380:36
[INFO] [stdout]     |
[INFO] [stdout] 380 |         let sv = SmoVec::from_iter((0..6)).unwrap();
[INFO] [stdout]     |                                    ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 380 -         let sv = SmoVec::from_iter((0..6)).unwrap();
[INFO] [stdout] 380 +         let sv = SmoVec::from_iter(0..6).unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/conf/mod.rs:382:36
[INFO] [stdout]     |
[INFO] [stdout] 382 |         let sv = SmoVec::from_iter((0..8)).unwrap();
[INFO] [stdout]     |                                    ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 382 -         let sv = SmoVec::from_iter((0..8)).unwrap();
[INFO] [stdout] 382 +         let sv = SmoVec::from_iter(0..8).unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/conf/mod.rs:384:36
[INFO] [stdout]     |
[INFO] [stdout] 384 |         let sv = SmoVec::from_iter((0..7));
[INFO] [stdout]     |                                    ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 384 -         let sv = SmoVec::from_iter((0..7));
[INFO] [stdout] 384 +         let sv = SmoVec::from_iter(0..7);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/signal.rs:23:47
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let os_handler = os_handler as *const extern fn(libc::c_int) as _;
[INFO] [stdout]    |                                               ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/signal.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 |     Ok((r))
[INFO] [stdout]    |        ^ ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 32 -     Ok((r))
[INFO] [stdout] 32 +     Ok(r)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/lib.rs:192:22
[INFO] [stdout]     |
[INFO] [stdout] 192 |                 Some((de)) => {
[INFO] [stdout]     |                      ^  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 192 -                 Some((de)) => {
[INFO] [stdout] 192 +                 Some(de) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `XFreer` is never constructed
[INFO] [stdout]   --> src/xdl/util.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub(crate) struct XFreer<'a> {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `HierarchyInfo` is never used
[INFO] [stdout]   --> src/xdl/data.rs:71:7
[INFO] [stdout]    |
[INFO] [stdout] 71 | trait HierarchyInfo {
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XI_HierarchyChanged` should have an upper case name
[INFO] [stdout]    --> src/xdl/mod.rs:288:17
[INFO] [stdout]     |
[INFO] [stdout] 288 |                 XI_HierarchyChanged  => {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XI_HIERARCHY_CHANGED`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XI_DeviceChanged` should have an upper case name
[INFO] [stdout]    --> src/xdl/mod.rs:295:17
[INFO] [stdout]     |
[INFO] [stdout] 295 |                 XI_DeviceChanged  => Some(Event::XIDeviceChange(*(xcookie.data as *mut _))),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XI_DEVICE_CHANGED`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/xdl/mod.rs:361:21
[INFO] [stdout]     |
[INFO] [stdout] 361 |     pub fn ext_list(&self) -> Extensions {
[INFO] [stdout]     |                     ^^^^^     ---------- the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 361 |     pub fn ext_list(&self) -> Extensions<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/xdl/mod.rs:454:27
[INFO] [stdout]     |
[INFO] [stdout] 454 |     pub fn modifier_codes(&self) -> ModifierCodes  {
[INFO] [stdout]     |                           ^^^^^     ------------- the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 454 |     pub fn modifier_codes(&self) -> ModifierCodes<'_>  {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `BadAccess` should have an upper case name
[INFO] [stdout]   --> src/xdl/err.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         BadAccess => XlibErr::Access,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to upper case: `BAD_ACCESS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `BadValue` should have an upper case name
[INFO] [stdout]   --> src/xdl/err.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         BadValue  => XlibErr::Value,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to upper case: `BAD_VALUE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `BadWindow` should have an upper case name
[INFO] [stdout]   --> src/xdl/err.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         BadWindow  => XlibErr::Window,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to upper case: `BAD_WINDOW`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/xdl/xinput2.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn query_device(&self, dev: Option<i32>) -> DeviceInfos {
[INFO] [stdout]    |                         ^^^^^                       ----------- the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn query_device(&self, dev: Option<i32>) -> DeviceInfos<'_> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/xdl/xinput2.rs:201:24
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub(crate) fn iter(&self)-> impl Iterator<Item = DeviceInfo> {
[INFO] [stdout]     |                        ^^^^^                         ---------- the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub(crate) fn iter(&self)-> impl Iterator<Item = DeviceInfo<'_>> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XIKeyClass` should have an upper case name
[INFO] [stdout]    --> src/xdl/xinput2.rs:236:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 XIKeyClass => {
[INFO] [stdout]     |                 ^^^^^^^^^^ help: convert the identifier to upper case: `XIKEY_CLASS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XIMasterPointer` should have an upper case name
[INFO] [stdout]    --> src/xdl/xinput2.rs:338:13
[INFO] [stdout]     |
[INFO] [stdout] 338 |             XIMasterPointer => Self::MasterPointer,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XIMASTER_POINTER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XIMasterKeyboard` should have an upper case name
[INFO] [stdout]    --> src/xdl/xinput2.rs:339:13
[INFO] [stdout]     |
[INFO] [stdout] 339 |             XIMasterKeyboard => Self::MasterKeyboard,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XIMASTER_KEYBOARD`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XISlavePointer` should have an upper case name
[INFO] [stdout]    --> src/xdl/xinput2.rs:340:13
[INFO] [stdout]     |
[INFO] [stdout] 340 |             XISlavePointer => Self::SlavePointer,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XISLAVE_POINTER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XISlaveKeyboard` should have an upper case name
[INFO] [stdout]    --> src/xdl/xinput2.rs:341:13
[INFO] [stdout]     |
[INFO] [stdout] 341 |             XISlaveKeyboard => Self::SlaveKeyboard,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XISLAVE_KEYBOARD`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XIFloatingSlave` should have an upper case name
[INFO] [stdout]    --> src/xdl/xinput2.rs:342:13
[INFO] [stdout]     |
[INFO] [stdout] 342 |             XIFloatingSlave => Self::FloatingSlave,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XIFLOATING_SLAVE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XI_KeyPress` should have an upper case name
[INFO] [stdout]    --> src/xdl/data.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |             XI_KeyPress => {
[INFO] [stdout]     |             ^^^^^^^^^^^ help: convert the identifier to upper case: `XI_KEY_PRESS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `XI_KeyRelease` should have an upper case name
[INFO] [stdout]    --> src/xdl/data.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |             XI_KeyRelease => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: convert the identifier to upper case: `XI_KEY_RELEASE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conf/parse.rs:53:22
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn lit_or_esc(input: &str) -> IResult<&str, Cow<str>> {
[INFO] [stdout]    |                      ^^^^             ----  -------- the same lifetime is hidden here
[INFO] [stdout]    |                      |                |
[INFO] [stdout]    |                      |                the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn lit_or_esc(input: &str) -> IResult<&str, Cow<'_, str>> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conf/parse.rs:62:31
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn content_with_escape(input: &str) -> IResult<&str, Cow<str>> {
[INFO] [stdout]    |                               ^^^^             ----  -------- the same lifetime is hidden here
[INFO] [stdout]    |                               |                |
[INFO] [stdout]    |                               |                the same lifetime is elided here
[INFO] [stdout]    |                               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn content_with_escape(input: &str) -> IResult<&str, Cow<'_, str>> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conf/parse.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn quoted(input: &str) -> IResult<&str, Cow<str>> {
[INFO] [stdout]    |                  ^^^^             ----  -------- the same lifetime is hidden here
[INFO] [stdout]    |                  |                |
[INFO] [stdout]    |                  |                the same lifetime is elided here
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn quoted(input: &str) -> IResult<&str, Cow<'_, str>> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conf/parse.rs:80:27
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn quoted_or_plain(input: &str) -> IResult<&str, Cow<str>> {
[INFO] [stdout]    |                           ^^^^             ----  -------- the same lifetime is hidden here
[INFO] [stdout]    |                           |                |
[INFO] [stdout]    |                           |                the same lifetime is elided here
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn quoted_or_plain(input: &str) -> IResult<&str, Cow<'_, str>> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conf/parse.rs:86:16
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn varg(input: &str) -> IResult<&str, Vec<Cow<str>>> {
[INFO] [stdout]    |                ^^^^             ----      -------- the same lifetime is hidden here
[INFO] [stdout]    |                |                |
[INFO] [stdout]    |                |                the same lifetime is elided here
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn varg(input: &str) -> IResult<&str, Vec<Cow<'_, str>>> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conf/parse.rs:104:27
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn action_text_arg(input: &str) -> IResult<&str, Cow<str>> {
[INFO] [stdout]     |                           ^^^^             ----  -------- the same lifetime is hidden here
[INFO] [stdout]     |                           |                |
[INFO] [stdout]     |                           |                the same lifetime is elided here
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn action_text_arg(input: &str) -> IResult<&str, Cow<'_, str>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.56s
[INFO] running `Command { std: "docker" "inspect" "9d941b111fd4a240a1fb4dbaf93340e8eb433e9ac67dae6b8ba538d60401d883", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d941b111fd4a240a1fb4dbaf93340e8eb433e9ac67dae6b8ba538d60401d883", kill_on_drop: false }`
[INFO] [stdout] 9d941b111fd4a240a1fb4dbaf93340e8eb433e9ac67dae6b8ba538d60401d883
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7d2a7c4bc135816f0d9aaa714d431514b5299e9b032b41631c799f2eb251c94a
[INFO] running `Command { std: "docker" "start" "-a" "7d2a7c4bc135816f0d9aaa714d431514b5299e9b032b41631c799f2eb251c94a", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]   --> src/xdl/xinput2.rs:28:8
[INFO] [stderr]    |
[INFO] [stderr] 28 |     Ok((xip2))
[INFO] [stderr]    |        ^    ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 28 -     Ok((xip2))
[INFO] [stderr] 28 +     Ok(xip2)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/xdl/xinput2.rs:294:22
[INFO] [stderr]     |
[INFO] [stderr] 294 |         let attach = (self.xidi.attachment );
[INFO] [stderr]     |                      ^                    ^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 294 -         let attach = (self.xidi.attachment );
[INFO] [stderr] 294 +         let attach = self.xidi.attachment;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/xdl/mod.rs:115:21
[INFO] [stderr]     |
[INFO] [stderr] 115 |         let event = (&*event);
[INFO] [stderr]     |                     ^       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 115 -         let event = (&*event);
[INFO] [stderr] 115 +         let event = &*event;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/xdl/mod.rs:527:20
[INFO] [stderr]     |
[INFO] [stderr] 527 |             kbs ^= (1 << b1p);
[INFO] [stderr]     |                    ^        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 527 -             kbs ^= (1 << b1p);
[INFO] [stderr] 527 +             kbs ^= 1 << b1p;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]    --> src/conf/mod.rs:118:13
[INFO] [stderr]     |
[INFO] [stderr] 118 |         for (a) in self.acts.iter() {
[INFO] [stderr]     |             ^ ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 118 -         for (a) in self.acts.iter() {
[INFO] [stderr] 118 +         for a in self.acts.iter() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/conf/mod.rs:173:24
[INFO] [stderr]     |
[INFO] [stderr] 173 |             let a = if (&self.sq[..i].iter().filter(|&a| a == k).count() %2 ==0) { "↘"}else {"↗"};
[INFO] [stderr]     |                        ^                                                       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 173 -             let a = if (&self.sq[..i].iter().filter(|&a| a == k).count() %2 ==0) { "↘"}else {"↗"};
[INFO] [stderr] 173 +             let a = if &self.sq[..i].iter().filter(|&a| a == k).count() %2 ==0 { "↘"}else {"↗"};
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]    --> src/conf/mod.rs:213:43
[INFO] [stderr]     |
[INFO] [stderr] 213 |             Ok((input, a)) => if let Some((sqa)) = a {
[INFO] [stderr]     |                                           ^   ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 213 -             Ok((input, a)) => if let Some((sqa)) = a {
[INFO] [stderr] 213 +             Ok((input, a)) => if let Some(sqa) = a {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stderr]   --> src/signal.rs:23:47
[INFO] [stderr]    |
[INFO] [stderr] 23 |         let os_handler = os_handler as *const extern fn(libc::c_int) as _;
[INFO] [stderr]    |                                               ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(missing_abi)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]   --> src/signal.rs:32:8
[INFO] [stderr]    |
[INFO] [stderr] 32 |     Ok((r))
[INFO] [stderr]    |        ^ ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 32 -     Ok((r))
[INFO] [stderr] 32 +     Ok(r)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]    --> src/lib.rs:192:22
[INFO] [stderr]     |
[INFO] [stderr] 192 |                 Some((de)) => {
[INFO] [stderr]     |                      ^  ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 192 -                 Some((de)) => {
[INFO] [stderr] 192 +                 Some(de) => {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: struct `XFreer` is never constructed
[INFO] [stderr]   --> src/xdl/util.rs:85:19
[INFO] [stderr]    |
[INFO] [stderr] 85 | pub(crate) struct XFreer<'a> {
[INFO] [stderr]    |                   ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `HierarchyInfo` is never used
[INFO] [stderr]   --> src/xdl/data.rs:71:7
[INFO] [stderr]    |
[INFO] [stderr] 71 | trait HierarchyInfo {
[INFO] [stderr]    |       ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `XI_HierarchyChanged` should have an upper case name
[INFO] [stderr]    --> src/xdl/mod.rs:288:17
[INFO] [stderr]     |
[INFO] [stderr] 288 |                 XI_HierarchyChanged  => {
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XI_HIERARCHY_CHANGED`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `XI_DeviceChanged` should have an upper case name
[INFO] [stderr]    --> src/xdl/mod.rs:295:17
[INFO] [stderr]     |
[INFO] [stderr] 295 |                 XI_DeviceChanged  => Some(Event::XIDeviceChange(*(xcookie.data as *mut _))),
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XI_DEVICE_CHANGED`
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/xdl/mod.rs:361:21
[INFO] [stderr]     |
[INFO] [stderr] 361 |     pub fn ext_list(&self) -> Extensions {
[INFO] [stderr]     |                     ^^^^^     ---------- the same lifetime is hidden here
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 361 |     pub fn ext_list(&self) -> Extensions<'_> {
[INFO] [stderr]     |                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/xdl/mod.rs:454:27
[INFO] [stderr]     |
[INFO] [stderr] 454 |     pub fn modifier_codes(&self) -> ModifierCodes  {
[INFO] [stderr]     |                           ^^^^^     ------------- the same lifetime is hidden here
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 454 |     pub fn modifier_codes(&self) -> ModifierCodes<'_>  {
[INFO] [stderr]     |                                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `BadAccess` should have an upper case name
[INFO] [stderr]   --> src/xdl/err.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 |         BadAccess => XlibErr::Access,
[INFO] [stderr]    |         ^^^^^^^^^ help: convert the identifier to upper case: `BAD_ACCESS`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `BadValue` should have an upper case name
[INFO] [stderr]   --> src/xdl/err.rs:35:9
[INFO] [stderr]    |
[INFO] [stderr] 35 |         BadValue  => XlibErr::Value,
[INFO] [stderr]    |         ^^^^^^^^ help: convert the identifier to upper case: `BAD_VALUE`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `BadWindow` should have an upper case name
[INFO] [stderr]   --> src/xdl/err.rs:36:9
[INFO] [stderr]    |
[INFO] [stderr] 36 |         BadWindow  => XlibErr::Window,
[INFO] [stderr]    |         ^^^^^^^^^ help: convert the identifier to upper case: `BAD_WINDOW`
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/xdl/xinput2.rs:33:25
[INFO] [stderr]    |
[INFO] [stderr] 33 |     pub fn query_device(&self, dev: Option<i32>) -> DeviceInfos {
[INFO] [stderr]    |                         ^^^^^                       ----------- the same lifetime is hidden here
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 33 |     pub fn query_device(&self, dev: Option<i32>) -> DeviceInfos<'_> {
[INFO] [stderr]    |                                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/xdl/xinput2.rs:201:24
[INFO] [stderr]     |
[INFO] [stderr] 201 |     pub(crate) fn iter(&self)-> impl Iterator<Item = DeviceInfo> {
[INFO] [stderr]     |                        ^^^^^                         ---------- the same lifetime is hidden here
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 201 |     pub(crate) fn iter(&self)-> impl Iterator<Item = DeviceInfo<'_>> {
[INFO] [stderr]     |                                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `XIKeyClass` should have an upper case name
[INFO] [stderr]    --> src/xdl/xinput2.rs:236:17
[INFO] [stderr]     |
[INFO] [stderr] 236 |                 XIKeyClass => {
[INFO] [stderr]     |                 ^^^^^^^^^^ help: convert the identifier to upper case: `XIKEY_CLASS`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `XIMasterPointer` should have an upper case name
[INFO] [stderr]    --> src/xdl/xinput2.rs:338:13
[INFO] [stderr]     |
[INFO] [stderr] 338 |             XIMasterPointer => Self::MasterPointer,
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XIMASTER_POINTER`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `XIMasterKeyboard` should have an upper case name
[INFO] [stderr]    --> src/xdl/xinput2.rs:339:13
[INFO] [stderr]     |
[INFO] [stderr] 339 |             XIMasterKeyboard => Self::MasterKeyboard,
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XIMASTER_KEYBOARD`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `XISlavePointer` should have an upper case name
[INFO] [stderr]    --> src/xdl/xinput2.rs:340:13
[INFO] [stderr]     |
[INFO] [stderr] 340 |             XISlavePointer => Self::SlavePointer,
[INFO] [stderr]     |             ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XISLAVE_POINTER`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `XISlaveKeyboard` should have an upper case name
[INFO] [stderr]    --> src/xdl/xinput2.rs:341:13
[INFO] [stderr]     |
[INFO] [stderr] 341 |             XISlaveKeyboard => Self::SlaveKeyboard,
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XISLAVE_KEYBOARD`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `XIFloatingSlave` should have an upper case name
[INFO] [stderr]    --> src/xdl/xinput2.rs:342:13
[INFO] [stderr]     |
[INFO] [stderr] 342 |             XIFloatingSlave => Self::FloatingSlave,
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `XIFLOATING_SLAVE`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `XI_KeyPress` should have an upper case name
[INFO] [stderr]    --> src/xdl/data.rs:178:13
[INFO] [stderr]     |
[INFO] [stderr] 178 |             XI_KeyPress => {
[INFO] [stderr]     |             ^^^^^^^^^^^ help: convert the identifier to upper case: `XI_KEY_PRESS`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `XI_KeyRelease` should have an upper case name
[INFO] [stderr]    --> src/xdl/data.rs:184:13
[INFO] [stderr]     |
[INFO] [stderr] 184 |             XI_KeyRelease => {
[INFO] [stderr]     |             ^^^^^^^^^^^^^ help: convert the identifier to upper case: `XI_KEY_RELEASE`
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/conf/parse.rs:53:22
[INFO] [stderr]    |
[INFO] [stderr] 53 | fn lit_or_esc(input: &str) -> IResult<&str, Cow<str>> {
[INFO] [stderr]    |                      ^^^^             ----  -------- the same lifetime is hidden here
[INFO] [stderr]    |                      |                |
[INFO] [stderr]    |                      |                the same lifetime is elided here
[INFO] [stderr]    |                      the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 53 | fn lit_or_esc(input: &str) -> IResult<&str, Cow<'_, str>> {
[INFO] [stderr]    |                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/conf/parse.rs:62:31
[INFO] [stderr]    |
[INFO] [stderr] 62 | fn content_with_escape(input: &str) -> IResult<&str, Cow<str>> {
[INFO] [stderr]    |                               ^^^^             ----  -------- the same lifetime is hidden here
[INFO] [stderr]    |                               |                |
[INFO] [stderr]    |                               |                the same lifetime is elided here
[INFO] [stderr]    |                               the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 62 | fn content_with_escape(input: &str) -> IResult<&str, Cow<'_, str>> {
[INFO] [stderr]    |                                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/conf/parse.rs:74:18
[INFO] [stderr]    |
[INFO] [stderr] 74 | fn quoted(input: &str) -> IResult<&str, Cow<str>> {
[INFO] [stderr]    |                  ^^^^             ----  -------- the same lifetime is hidden here
[INFO] [stderr]    |                  |                |
[INFO] [stderr]    |                  |                the same lifetime is elided here
[INFO] [stdout] 
[INFO] [stderr]    |                  the lifetime is elided here
[INFO] [stdout] running 25 tests
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 74 | fn quoted(input: &str) -> IResult<&str, Cow<'_, str>> {
[INFO] [stderr]    |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/conf/parse.rs:80:27
[INFO] [stderr]    |
[INFO] [stderr] 80 | fn quoted_or_plain(input: &str) -> IResult<&str, Cow<str>> {
[INFO] [stderr]    |                           ^^^^             ----  -------- the same lifetime is hidden here
[INFO] [stderr]    |                           |                |
[INFO] [stderr]    |                           |                the same lifetime is elided here
[INFO] [stderr]    |                           the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 80 | fn quoted_or_plain(input: &str) -> IResult<&str, Cow<'_, str>> {
[INFO] [stderr]    |                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/conf/parse.rs:86:16
[INFO] [stderr]    |
[INFO] [stderr] 86 | fn varg(input: &str) -> IResult<&str, Vec<Cow<str>>> {
[INFO] [stderr]    |                ^^^^             ----      -------- the same lifetime is hidden here
[INFO] [stderr]    |                |                |
[INFO] [stderr]    |                |                the same lifetime is elided here
[INFO] [stderr]    |                the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 86 | fn varg(input: &str) -> IResult<&str, Vec<Cow<'_, str>>> {
[INFO] [stderr]    |                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/conf/parse.rs:104:27
[INFO] [stderr]     |
[INFO] [stderr] 104 | fn action_text_arg(input: &str) -> IResult<&str, Cow<str>> {
[INFO] [stderr]     |                           ^^^^             ----  -------- the same lifetime is hidden here
[INFO] [stderr]     |                           |                |
[INFO] [stderr]     |                           |                the same lifetime is elided here
[INFO] [stderr]     |                           the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 104 | fn action_text_arg(input: &str) -> IResult<&str, Cow<'_, str>> {
[INFO] [stderr]     |                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/conf/mod.rs:378:36
[INFO] [stderr]     |
[INFO] [stderr] 378 |         let sv = SmoVec::from_iter((0..10)).unwrap();
[INFO] [stderr]     |                                    ^     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 378 -         let sv = SmoVec::from_iter((0..10)).unwrap();
[INFO] [stderr] 378 +         let sv = SmoVec::from_iter(0..10).unwrap();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/conf/mod.rs:380:36
[INFO] [stderr]     |
[INFO] [stderr] 380 |         let sv = SmoVec::from_iter((0..6)).unwrap();
[INFO] [stderr]     |                                    ^    ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 380 -         let sv = SmoVec::from_iter((0..6)).unwrap();
[INFO] [stderr] 380 +         let sv = SmoVec::from_iter(0..6).unwrap();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/conf/mod.rs:382:36
[INFO] [stderr]     |
[INFO] [stderr] 382 |         let sv = SmoVec::from_iter((0..8)).unwrap();
[INFO] [stderr]     |                                    ^    ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 382 -         let sv = SmoVec::from_iter((0..8)).unwrap();
[INFO] [stderr] 382 +         let sv = SmoVec::from_iter(0..8).unwrap();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/conf/mod.rs:384:36
[INFO] [stderr]     |
[INFO] [stderr] 384 |         let sv = SmoVec::from_iter((0..7));
[INFO] [stderr]     |                                    ^    ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stdout] test conf::parse::tests::nom1 ... ok
[INFO] [stderr]     |
[INFO] [stdout] test conf::parse::tests::nom12 ... ok
[INFO] [stderr] 384 -         let sv = SmoVec::from_iter((0..7));
[INFO] [stdout] test conf::parse::tests::nom13 ... ok
[INFO] [stderr] 384 +         let sv = SmoVec::from_iter(0..7);
[INFO] [stdout] test conf::parse::tests::nom10 ... ok
[INFO] [stderr]     |
[INFO] [stdout] test conf::parse::tests::nom15 ... ok
[INFO] [stderr] 
[INFO] [stdout] test conf::parse::tests::nom11 ... ok
[INFO] [stderr] warning: `kseqi-desktop` (lib) generated 35 warnings (run `cargo fix --lib -p kseqi-desktop` to apply 10 suggestions)
[INFO] [stdout] test conf::parse::tests::nom16 ... ok
[INFO] [stderr] warning: `kseqi-desktop` (lib test) generated 39 warnings (35 duplicates) (run `cargo fix --lib -p kseqi-desktop --tests` to apply 4 suggestions)
[INFO] [stdout] test conf::parse::tests::nom14 ... ok
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stdout] test conf::parse::tests::nom2 ... ok
[INFO] [stderr]   --> src/bin/keyv.rs:22:23
[INFO] [stdout] test conf::parse::tests::nom3 ... ok
[INFO] [stderr]    |
[INFO] [stdout] test conf::parse::tests::nom4 ... ok
[INFO] [stderr] 22 |         let Some(e) = ( x.recv_timeout(None)) else {
[INFO] [stdout] test conf::parse::tests::nom5 ... ok
[INFO] [stderr]    |                       ^^                    ^
[INFO] [stdout] test conf::parse::tests::nom6 ... ok
[INFO] [stderr]    |
[INFO] [stdout] test conf::parse::tests::nom7 ... ok
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] test conf::parse::tests::nom8 ... ok
[INFO] [stderr] help: remove these parentheses
[INFO] [stdout] test conf::parse::tests::nome ... ok
[INFO] [stderr]    |
[INFO] [stdout] test conf::parse::tests::noml ... ok
[INFO] [stderr] 22 -         let Some(e) = ( x.recv_timeout(None)) else {
[INFO] [stdout] test xdl::tests::size1 ... ok
[INFO] [stderr] 22 +         let Some(e) = x.recv_timeout(None) else {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `kseqi-desktop` (bin "keyv" test) generated 1 warning (run `cargo fix --bin "keyv" --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/kseqi_desktop-67e86727748d96ee)
[INFO] [stdout] test xdl::tests::bps2 ... ok
[INFO] [stdout] test xdl::tests::bps ... ok
[INFO] [stdout] test xdl::tests::bps1 ... ok
[INFO] [stdout] test dispatch::key_changer::tests::knu ... ok
[INFO] [stderr] 
[INFO] [stderr] thread 'xdl::keysym::tests::kes' panicked at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/x11-dl-2.20.1/src/xlib.rs:25:1:
[INFO] [stderr] null pointer dereference occurred
[INFO] [stderr] stack backtrace:
[INFO] [stderr]    0:     0x5dfc5f385e82 - std::backtrace_rs::backtrace::libunwind::trace::h2d45396358f41939
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stderr]    1:     0x5dfc5f385e82 - std::backtrace_rs::backtrace::trace_unsynchronized::hffcefc0b67f1d6e2
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stderr]    2:     0x5dfc5f385e82 - std::sys::backtrace::_print_fmt::hd72f71d23b436b92
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:66:9
[INFO] [stderr]    3:     0x5dfc5f385e82 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hdcfcb6d4c8489523
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:39:26
[INFO] [stderr]    4:     0x5dfc5f3ab943 - core::fmt::rt::Argument::fmt::h2c56b3114963061a
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/fmt/rt.rs:173:76
[INFO] [stderr]    5:     0x5dfc5f3ab943 - core::fmt::write::h8a494366950f23bb
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/fmt/mod.rs:1468:25
[INFO] [stderr]    6:     0x5dfc5f382da3 - std::io::default_write_fmt::ha27fbccbc65eb6fa
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/io/mod.rs:639:11
[INFO] [stderr]    7:     0x5dfc5f382da3 - std::io::Write::write_fmt::h6556609fca33d0b1
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/io/mod.rs:1954:13
[INFO] [stderr]    8:     0x5dfc5f385cd2 - std::sys::backtrace::BacktraceLock::print::hb2a626a81e06b2dc
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:42:9
[INFO] [stderr]    9:     0x5dfc5f387409 - std::panicking::default_hook::{{closure}}::h4f78485264f12d10
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:300:27
[INFO] [stderr]   10:     0x5dfc5f3871eb - std::panicking::default_hook::h2c66fc99e962531d
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:327:9
[INFO] [stderr]   11:     0x5dfc5f343ad4 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb6bd65493727d71a
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1985:9
[INFO] [stderr]   12:     0x5dfc5f343ad4 - test::test_main_with_exit_callback::{{closure}}::h60217ec76a0ece4a
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:145:21
[INFO] [stderr]   13:     0x5dfc5f387ede - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h318e4efb8c1a5689
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1985:9
[INFO] [stderr]   14:     0x5dfc5f387ede - std::panicking::rust_panic_with_hook::h33ac55f64bbd807d
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:841:13
[INFO] [stderr]   15:     0x5dfc5f387b76 - std::panicking::begin_panic_handler::{{closure}}::h30e7cb89678a57fe
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:699:13
[INFO] [stderr]   16:     0x5dfc5f386389 - std::sys::backtrace::__rust_end_short_backtrace::hed60f27456c16ced
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:174:18
[INFO] [stderr]   17:     0x5dfc5f38783d - __rustc[de2ca18b4c54d5b8]::rust_begin_unwind
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:697:5
[INFO] [stderr]   18:     0x5dfc5f3aa37d - core::panicking::panic_nounwind_fmt::runtime::hde3dd742c40069fa
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panicking.rs:117:22
[INFO] [stderr]   19:     0x5dfc5f3aa37d - core::panicking::panic_nounwind_fmt::h6c46f1098922b4b6
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/intrinsics/mod.rs:2367:9
[INFO] [stderr]   20:     0x5dfc5f3aa55d - core::panicking::panic_null_pointer_dereference::h1babc02c7367f174
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panicking.rs:311:5
[INFO] [stderr]   21:     0x5dfc5f34f5be - <x11_dl::xlib::Xlib::init::SYMS as core::ops::deref::Deref>::deref::__static_ref_initialize::he5685e6cb0c3895f
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/x11-dl-2.20.1/src/link.rs:40:38
[INFO] [stderr]   22:     0x5dfc5f34f5be - core::ops::function::FnOnce::call_once::h31b3c83b25f788f0
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5
[INFO] [stderr]   23:     0x5dfc5f352a23 - lazy_static::lazy::Lazy<T>::get::{{closure}}::h2e2568243b32e1f1
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lazy_static-1.4.0/src/inline_lazy.rs:31:29
[INFO] [stderr]   24:     0x5dfc5f34fb6e - std::sync::poison::once::Once::call_once::{{closure}}::h3802416c98248835
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sync/poison/once.rs:155:41
[INFO] [stderr]   25:     0x5dfc5f390dd7 - std::sys::sync::once::futex::Once::call::h01cb7127fa151335
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/sync/once/futex.rs:178:21
[INFO] [stderr]   26:     0x5dfc5f34fa24 - std::sync::poison::once::Once::call_once::h2231735592895d28
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sync/poison/once.rs:155:20
[INFO] [stderr]   27:     0x5dfc5f355783 - lazy_static::lazy::Lazy<T>::get::h3785d7263dc9c65e
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lazy_static-1.4.0/src/inline_lazy.rs:30:16
[INFO] [stderr]   28:     0x5dfc5f355783 - <x11_dl::xlib::Xlib::init::SYMS as core::ops::deref::Deref>::deref::__stability::h9a879cfb05eff21d
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lazy_static-1.4.0/src/lib.rs:142:26
[INFO] [stderr]   29:     0x5dfc5f355783 - <x11_dl::xlib::Xlib::init::SYMS as core::ops::deref::Deref>::deref::h79729dbee78cfa78
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lazy_static-1.4.0/src/lib.rs:144:17
[INFO] [stderr]   30:     0x5dfc5f3551d3 - x11_dl::xlib::Xlib::init::h76e9c757ab3e83cb
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/x11-dl-2.20.1/src/link.rs:46:36
[INFO] [stderr]   31:     0x5dfc5f355611 - x11_dl::xlib::Xlib::open::hb46171b62578caba
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/x11-dl-2.20.1/src/link.rs:59:11
[INFO] [stderr]   32:     0x5dfc5f2eb40f - kseqi_desktop::xdl::with_xl::{{closure}}::h707a77b443dd9b37
[INFO] [stderr]                                at /opt/rustwide/workdir/src/xdl/mod.rs:69:19
[INFO] [stderr]   33:     0x5dfc5f2f6459 - std::thread::local::LocalKey<T>::try_with::h0a3f208f50cd54b5
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/thread/local.rs:315:12
[INFO] [stderr]   34:     0x5dfc5f2f632d - std::thread::local::LocalKey<T>::with::hc8037817fa5c87cb
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/thread/local.rs:279:20
[INFO] [stderr]   35:     0x5dfc5f2eaa08 - kseqi_desktop::xdl::with_xl::h1966ccb92c93049a
[INFO] [stderr]                                at /opt/rustwide/workdir/src/xdl/mod.rs:67:13
[INFO] [stderr]   36:     0x5dfc5f2eb9cd - kseqi_desktop::xdl::get_x::ha0b026f4bebe5be5
[INFO] [stderr]                                at /opt/rustwide/workdir/src/xdl/mod.rs:89:5
[INFO] [stderr]   37:     0x5dfc5f2ec017 - kseqi_desktop::xdl::Xconn::new::h05a0c179755dc50c
[INFO] [stderr]                                at /opt/rustwide/workdir/src/xdl/mod.rs:135:20
[INFO] [stderr]   38:     0x5dfc5f2ed2f4 - kseqi_desktop::xdl::keysym::tests::kes::hd3c4bd25163723af
[INFO] [stderr]                                at /opt/rustwide/workdir/src/xdl/keysym.rs:1350:16
[INFO] [stderr]   39:     0x5dfc5f2ed2c7 - kseqi_desktop::xdl::keysym::tests::kes::{{closure}}::h05a7d6f13c5f0468
[INFO] [stderr]                                at /opt/rustwide/workdir/src/xdl/keysym.rs:1349:13
[INFO] [stderr]   40:     0x5dfc5f2f1a56 - core::ops::function::FnOnce::call_once::h5672c3a6f5f5ca6d
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5
[INFO] [stderr]   41:     0x5dfc5f34933b - core::ops::function::FnOnce::call_once::h1f9474f1347fff52
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5
[INFO] [stderr]   42:     0x5dfc5f34933b - test::__rust_begin_short_backtrace::ha52ab26e77157f03
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:648:18
[INFO] [stderr]   43:     0x5dfc5f348475 - test::run_test_in_process::{{closure}}::h229c1a11a50b261f
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:671:74
[INFO] [stderr]   44:     0x5dfc5f348475 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h78821afbf97b39a9
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stderr]   45:     0x5dfc5f348475 - std::panicking::catch_unwind::do_call::h53abf3ed5bd32ba3
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:589:40
[INFO] [stderr]   46:     0x5dfc5f348475 - std::panicking::catch_unwind::h6deb5fe1e91873c9
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:552:19
[INFO] [stderr]   47:     0x5dfc5f348475 - std::panic::catch_unwind::hea0829b6b565654b
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panic.rs:359:14
[INFO] [stderr]   48:     0x5dfc5f348475 - test::run_test_in_process::hdc44dfecea3db21b
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:671:27
[INFO] [stderr]   49:     0x5dfc5f348475 - test::run_test::{{closure}}::h0364ba59bf23f652
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:592:43
[INFO] [stderr]   50:     0x5dfc5f30c074 - test::run_test::{{closure}}::h32730b304eec05da
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:622:41
[INFO] [stderr]   51:     0x5dfc5f30c074 - std::sys::backtrace::__rust_begin_short_backtrace::h177cb952fc54ad2c
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:158:18
[INFO] [stderr]   52:     0x5dfc5f30fa4a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h119d903520007597
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/thread/mod.rs:559:17
[INFO] [stderr]   53:     0x5dfc5f30fa4a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hab88401d606702a6
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stderr]   54:     0x5dfc5f30fa4a - std::panicking::catch_unwind::do_call::h163fe12cca9901c2
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:589:40
[INFO] [stderr]   55:     0x5dfc5f30fa4a - std::panicking::catch_unwind::he81557d0e17cc1bc
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:552:19
[INFO] [stderr]   56:     0x5dfc5f30fa4a - std::panic::catch_unwind::hc2b8e79c20593955
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panic.rs:359:14
[INFO] [stderr]   57:     0x5dfc5f30fa4a - std::thread::Builder::spawn_unchecked_::{{closure}}::hfa6b4978e07815cc
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/thread/mod.rs:557:30
[INFO] [stderr]   58:     0x5dfc5f30fa4a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hddcd7484a13fd793
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5
[INFO] [stderr]   59:     0x5dfc5f38ae5f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h5924238c754de3b8
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1971:9
[INFO] [stderr]   60:     0x5dfc5f38ae5f - std::sys::pal::unix::thread::Thread::new::thread_start::hb6e99e73da4d28f8
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/pal/unix/thread.rs:107:17
[INFO] [stderr]   61:     0x7544ed7abaa4 - <unknown>
[INFO] [stderr]   62:     0x7544ed838a34 - clone
[INFO] [stderr]   63:                0x0 - <unknown>
[INFO] [stderr] thread caused non-unwinding panic. aborting.
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/kseqi_desktop-67e86727748d96ee` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "7d2a7c4bc135816f0d9aaa714d431514b5299e9b032b41631c799f2eb251c94a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d2a7c4bc135816f0d9aaa714d431514b5299e9b032b41631c799f2eb251c94a", kill_on_drop: false }`
[INFO] [stdout] 7d2a7c4bc135816f0d9aaa714d431514b5299e9b032b41631c799f2eb251c94a
