[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.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwzhd%2Fkseqi" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/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-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/wzhd/kseqi on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "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.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] dd45b5c64d1afb9ea0ae7a7c32ac30affe897cd2342d5c17ec7e098dc141623c
[INFO] running `Command { std: "docker" "start" "dd45b5c64d1afb9ea0ae7a7c32ac30affe897cd2342d5c17ec7e098dc141623c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dd45b5c64d1afb9ea0ae7a7c32ac30affe897cd2342d5c17ec7e098dc141623c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dd45b5c64d1afb9ea0ae7a7c32ac30affe897cd2342d5c17ec7e098dc141623c" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dd45b5c64d1afb9ea0ae7a7c32ac30affe897cd2342d5c17ec7e098dc141623c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dd45b5c64d1afb9ea0ae7a7c32ac30affe897cd2342d5c17ec7e098dc141623c" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling libc v0.2.137
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling pkg-config v0.3.26
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling termcolor v1.2.0
[INFO] [stderr]    Compiling lazy_static v1.4.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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(nonstandard_style)]`) 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)]` (part of `#[warn(unused)]`) 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 7.74s
[INFO] running `Command { std: "docker" "inspect" "dd45b5c64d1afb9ea0ae7a7c32ac30affe897cd2342d5c17ec7e098dc141623c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dd45b5c64d1afb9ea0ae7a7c32ac30affe897cd2342d5c17ec7e098dc141623c" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(nonstandard_style)]`) 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] [stderr]    Compiling kseqi-desktop v0.1.0 (/opt/rustwide/workdir)
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(nonstandard_style)]`) 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 2.07s
[INFO] running `Command { std: "docker" "inspect" "dd45b5c64d1afb9ea0ae7a7c32ac30affe897cd2342d5c17ec7e098dc141623c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dd45b5c64d1afb9ea0ae7a7c32ac30affe897cd2342d5c17ec7e098dc141623c" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(nonstandard_style)]`) 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] [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] 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] [stderr]     |
[INFO] [stderr] 384 -         let sv = SmoVec::from_iter((0..7));
[INFO] [stderr] 384 +         let sv = SmoVec::from_iter(0..7);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `kseqi-desktop` (lib) generated 35 warnings (run `cargo fix --lib -p kseqi-desktop` to apply 20 suggestions)
[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] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> src/bin/keyv.rs:22:23
[INFO] [stderr]    |
[INFO] [stderr] 22 |         let Some(e) = ( x.recv_timeout(None)) else {
[INFO] [stderr]    |                       ^^                    ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 22 -         let Some(e) = ( x.recv_timeout(None)) else {
[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" -p kseqi-desktop --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-dac93ebd13061920)
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] test conf::parse::tests::nom1 ... ok
[INFO] [stdout] test conf::parse::tests::nom10 ... ok
[INFO] [stdout] test conf::parse::tests::nom11 ... ok
[INFO] [stdout] test conf::parse::tests::nom13 ... ok
[INFO] [stdout] test conf::parse::tests::nom14 ... ok
[INFO] [stdout] test conf::parse::tests::nom15 ... ok
[INFO] [stdout] test conf::parse::tests::nom2 ... ok
[INFO] [stdout] test conf::parse::tests::nom12 ... ok
[INFO] [stdout] test conf::parse::tests::nom16 ... ok
[INFO] [stdout] test conf::parse::tests::nom4 ... ok
[INFO] [stdout] test conf::parse::tests::nom3 ... ok
[INFO] [stdout] test conf::parse::tests::nom5 ... ok
[INFO] [stdout] test conf::parse::tests::nom6 ... ok
[INFO] [stdout] test conf::parse::tests::nom7 ... ok
[INFO] [stdout] test conf::parse::tests::nom8 ... ok
[INFO] [stdout] test conf::parse::tests::nome ... ok
[INFO] [stdout] test conf::parse::tests::noml ... ok
[INFO] [stdout] test xdl::tests::bps ... ok
[INFO] [stdout] test xdl::tests::bps2 ... ok
[INFO] [stderr] 
[INFO] [stderr] thread 'xdl::keysym::tests::kes' (547) 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:     0x5639838533a1 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stderr]    1:     0x5639838533a1 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stderr]    2:     0x5639838533a1 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stderr]    3:     0x5639838533a1 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stderr]    4:     0x56398386775a - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stderr]    5:     0x56398386775a - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stderr]    6:     0x5639838586cc - std[73adb7dc35730857]::io::default_write_fmt::<std[73adb7dc35730857]::sys::stdio::unix::Stderr>
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stderr]    7:     0x5639838586cc - <std[73adb7dc35730857]::sys::stdio::unix::Stderr as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stderr]    8:     0x5639838318c6 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stderr]    9:     0x5639838318c6 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stderr]   10:     0x56398384b4d1 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:319:9
[INFO] [stderr]   11:     0x5639837db070 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stderr]   12:     0x5639837db070 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stderr]   13:     0x56398384b6c2 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stderr]   14:     0x56398384b6c2 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stderr]   15:     0x5639838319a4 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:681:13
[INFO] [stderr]   16:     0x5639838292a9 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stderr]   17:     0x56398383256d - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stderr]   18:     0x563983867d3d - core[6883ba1bc0fe4ed1]::panicking::panic_nounwind_fmt::runtime
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:122:22
[INFO] [stderr]   19:     0x563983867d3d - core[6883ba1bc0fe4ed1]::panicking::panic_nounwind_fmt
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/intrinsics/mod.rs:2458:9
[INFO] [stderr]   20:     0x563983867e87 - core[6883ba1bc0fe4ed1]::panicking::panic_null_pointer_dereference
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:302:5
[INFO] [stderr]   21:     0x5639838111ae - <<x11_dl[9817b4e33a431e35]::xlib::Xlib>::init::SYMS as core[6883ba1bc0fe4ed1]::ops::deref::Deref>::deref::__static_ref_initialize
[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:     0x5639838111ae - <<<x11_dl[9817b4e33a431e35]::xlib::Xlib>::init::SYMS as core[6883ba1bc0fe4ed1]::ops::deref::Deref>::deref::__static_ref_initialize as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   23:     0x563983813ee3 - <lazy_static[c94980f5494018e1]::lazy::Lazy<[(&str, usize); 767usize]>>::get::<<<x11_dl[9817b4e33a431e35]::xlib::Xlib>::init::SYMS as core[6883ba1bc0fe4ed1]::ops::deref::Deref>::deref::__static_ref_initialize>::{closure#0}
[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:     0x563983811b0e - <std[73adb7dc35730857]::sync::once::Once>::call_once::<<lazy_static[c94980f5494018e1]::lazy::Lazy<[(&str, usize); 767usize]>>::get<<<x11_dl[9817b4e33a431e35]::xlib::Xlib>::init::SYMS as core[6883ba1bc0fe4ed1]::ops::deref::Deref>::deref::__static_ref_initialize>::{closure#0}>::{closure#0}
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sync/once.rs:166:41
[INFO] [stderr]   25:     0x5639838371c9 - <std[73adb7dc35730857]::sys::sync::once::futex::Once>::call
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/sync/once/futex.rs:183:21
[INFO] [stderr]   26:     0x563983811379 - <std[73adb7dc35730857]::sync::once::Once>::call_once::<<lazy_static[c94980f5494018e1]::lazy::Lazy<[(&str, usize); 767usize]>>::get<<<x11_dl[9817b4e33a431e35]::xlib::Xlib>::init::SYMS as core[6883ba1bc0fe4ed1]::ops::deref::Deref>::deref::__static_ref_initialize>::{closure#0}>
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sync/once.rs:166:20
[INFO] [stderr]   27:     0x563983813a13 - <lazy_static[c94980f5494018e1]::lazy::Lazy<[(&str, usize); 767usize]>>::get::<<<x11_dl[9817b4e33a431e35]::xlib::Xlib>::init::SYMS as core[6883ba1bc0fe4ed1]::ops::deref::Deref>::deref::__static_ref_initialize>
[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:     0x563983813a13 - <<x11_dl[9817b4e33a431e35]::xlib::Xlib>::init::SYMS as core[6883ba1bc0fe4ed1]::ops::deref::Deref>::deref::__stability
[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:     0x563983813a13 - <<x11_dl[9817b4e33a431e35]::xlib::Xlib>::init::SYMS as core[6883ba1bc0fe4ed1]::ops::deref::Deref>::deref
[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:     0x563983813413 - <x11_dl[9817b4e33a431e35]::xlib::Xlib>::init
[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:     0x5639838138af - <x11_dl[9817b4e33a431e35]::xlib::Xlib>::open
[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:     0x5639837c8f41 - kseqi_desktop[8d84a0c26f85c33b]::xdl::with_xl::<core[6883ba1bc0fe4ed1]::result::Result<alloc[55a36b64bcbf2c0d]::rc::Rc<kseqi_desktop[8d84a0c26f85c33b]::xdl::XlibDpy>, x11_dl[9817b4e33a431e35]::error::OpenError>, kseqi_desktop[8d84a0c26f85c33b]::xdl::get_x::{closure#0}>::{closure#0}
[INFO] [stderr]                                at /opt/rustwide/workdir/src/xdl/mod.rs:69:19
[INFO] [stderr]   33:     0x5639837bd373 - <std[73adb7dc35730857]::thread::local::LocalKey<core[6883ba1bc0fe4ed1]::cell::RefCell<kseqi_desktop[8d84a0c26f85c33b]::xdl::LazyValue<alloc[55a36b64bcbf2c0d]::rc::Rc<kseqi_desktop[8d84a0c26f85c33b]::xdl::XlibDpy>, x11_dl[9817b4e33a431e35]::error::OpenError>>>>::try_with::<kseqi_desktop[8d84a0c26f85c33b]::xdl::with_xl<core[6883ba1bc0fe4ed1]::result::Result<alloc[55a36b64bcbf2c0d]::rc::Rc<kseqi_desktop[8d84a0c26f85c33b]::xdl::XlibDpy>, x11_dl[9817b4e33a431e35]::error::OpenError>, kseqi_desktop[8d84a0c26f85c33b]::xdl::get_x::{closure#0}>::{closure#0}, core[6883ba1bc0fe4ed1]::result::Result<alloc[55a36b64bcbf2c0d]::rc::Rc<kseqi_desktop[8d84a0c26f85c33b]::xdl::XlibDpy>, x11_dl[9817b4e33a431e35]::error::OpenError>>
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/local.rs:463:12
[INFO] [stderr]   34:     0x5639837bd20d - <std[73adb7dc35730857]::thread::local::LocalKey<core[6883ba1bc0fe4ed1]::cell::RefCell<kseqi_desktop[8d84a0c26f85c33b]::xdl::LazyValue<alloc[55a36b64bcbf2c0d]::rc::Rc<kseqi_desktop[8d84a0c26f85c33b]::xdl::XlibDpy>, x11_dl[9817b4e33a431e35]::error::OpenError>>>>::with::<kseqi_desktop[8d84a0c26f85c33b]::xdl::with_xl<core[6883ba1bc0fe4ed1]::result::Result<alloc[55a36b64bcbf2c0d]::rc::Rc<kseqi_desktop[8d84a0c26f85c33b]::xdl::XlibDpy>, x11_dl[9817b4e33a431e35]::error::OpenError>, kseqi_desktop[8d84a0c26f85c33b]::xdl::get_x::{closure#0}>::{closure#0}, core[6883ba1bc0fe4ed1]::result::Result<alloc[55a36b64bcbf2c0d]::rc::Rc<kseqi_desktop[8d84a0c26f85c33b]::xdl::XlibDpy>, x11_dl[9817b4e33a431e35]::error::OpenError>>
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/local.rs:427:20
[INFO] [stderr]   35:     0x5639837c74e8 - kseqi_desktop[8d84a0c26f85c33b]::xdl::with_xl::<core[6883ba1bc0fe4ed1]::result::Result<alloc[55a36b64bcbf2c0d]::rc::Rc<kseqi_desktop[8d84a0c26f85c33b]::xdl::XlibDpy>, x11_dl[9817b4e33a431e35]::error::OpenError>, kseqi_desktop[8d84a0c26f85c33b]::xdl::get_x::{closure#0}>
[INFO] [stderr]                                at /opt/rustwide/workdir/src/xdl/mod.rs:67:13
[INFO] [stderr]   36:     0x5639837cc29d - kseqi_desktop[8d84a0c26f85c33b]::xdl::get_x
[INFO] [stderr]                                at /opt/rustwide/workdir/src/xdl/mod.rs:89:5
[INFO] [stderr]   37:     0x5639837caffa - <kseqi_desktop[8d84a0c26f85c33b]::xdl::Xconn>::new
[INFO] [stderr]                                at /opt/rustwide/workdir/src/xdl/mod.rs:135:20
[INFO] [stderr]   38:     0x5639837cc3e4 - kseqi_desktop[8d84a0c26f85c33b]::xdl::keysym::tests::kes
[INFO] [stderr]                                at /opt/rustwide/workdir/src/xdl/keysym.rs:1350:16
[INFO] [stderr]   39:     0x5639837ca357 - kseqi_desktop[8d84a0c26f85c33b]::xdl::keysym::tests::kes::{closure#0}
[INFO] [stderr]                                at /opt/rustwide/workdir/src/xdl/keysym.rs:1349:13
[INFO] [stderr]   40:     0x5639837b5316 - <kseqi_desktop[8d84a0c26f85c33b]::xdl::keysym::tests::kes::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   41:     0x5639837ce3ab - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   42:     0x5639837ce3ab - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stderr]   43:     0x5639837db9f5 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stderr]   44:     0x5639837db9f5 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stderr]   45:     0x5639837db9f5 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stderr]   46:     0x5639837db9f5 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stderr]   47:     0x5639837db9f5 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stderr]   48:     0x5639837db9f5 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stderr]   49:     0x5639837db9f5 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stderr]   50:     0x5639837d64a4 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stderr]   51:     0x5639837d64a4 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stderr]   52:     0x5639837deb42 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stderr]   53:     0x5639837deb42 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stderr]   54:     0x5639837deb42 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stderr]   55:     0x5639837deb42 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stderr]   56:     0x5639837deb42 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stderr]   57:     0x5639837deb42 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stderr]   58:     0x5639837deb42 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   59:     0x563983852c2f - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stderr]   60:     0x563983852c2f - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stderr]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stderr]   61:     0x776de7feeaa4 - <unknown>
[INFO] [stderr]   62:     0x776de807ba64 - 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-dac93ebd13061920` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "dd45b5c64d1afb9ea0ae7a7c32ac30affe897cd2342d5c17ec7e098dc141623c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dd45b5c64d1afb9ea0ae7a7c32ac30affe897cd2342d5c17ec7e098dc141623c", kill_on_drop: false }`
[INFO] [stdout] dd45b5c64d1afb9ea0ae7a7c32ac30affe897cd2342d5c17ec7e098dc141623c
