[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.97.0-beta.6 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-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/wzhd/kseqi
[INFO] finished tweaking git repo https://github.com/wzhd/kseqi
[INFO] tweaked toml for git repo https://github.com/wzhd/kseqi written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/wzhd/kseqi on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "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.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pkg-config v0.3.26
[INFO] [stderr]   Downloaded termcolor v1.2.0
[INFO] [stderr]   Downloaded env_logger v0.10.0
[INFO] [stderr]   Downloaded x11-dl v2.20.1
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.42.0
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.42.0
[INFO] [stderr]   Downloaded libc v0.2.137
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.42.0
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.42.0
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.42.0
[INFO] [stderr]   Downloaded windows_i686_msvc v0.42.0
[INFO] [stderr]   Downloaded windows_i686_gnu v0.42.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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] 7f19e95e84f5d7a02b8b78615aeec6275e599ee91345319f696721ac40e9da3d
[INFO] running `Command { std: "docker" "start" "7f19e95e84f5d7a02b8b78615aeec6275e599ee91345319f696721ac40e9da3d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7f19e95e84f5d7a02b8b78615aeec6275e599ee91345319f696721ac40e9da3d", 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" "7f19e95e84f5d7a02b8b78615aeec6275e599ee91345319f696721ac40e9da3d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7f19e95e84f5d7a02b8b78615aeec6275e599ee91345319f696721ac40e9da3d", 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" "7f19e95e84f5d7a02b8b78615aeec6275e599ee91345319f696721ac40e9da3d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.137
[INFO] [stderr]    Compiling log v0.4.17
[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 lazy_static v1.4.0
[INFO] [stderr]    Compiling termcolor v1.2.0
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling env_logger v0.10.0
[INFO] [stderr]    Compiling x11-dl v2.20.1
[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.70s
[INFO] running `Command { std: "docker" "inspect" "7f19e95e84f5d7a02b8b78615aeec6275e599ee91345319f696721ac40e9da3d", 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" "7f19e95e84f5d7a02b8b78615aeec6275e599ee91345319f696721ac40e9da3d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "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] [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]    Compiling kseqi-desktop v0.1.0 (/opt/rustwide/workdir)
[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 1.89s
[INFO] running `Command { std: "docker" "inspect" "7f19e95e84f5d7a02b8b78615aeec6275e599ee91345319f696721ac40e9da3d", 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" "7f19e95e84f5d7a02b8b78615aeec6275e599ee91345319f696721ac40e9da3d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "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: `kseqi-desktop` (lib) generated 35 warnings (run `cargo fix --lib -p kseqi-desktop` to apply 20 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: 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` (bin "keyv" test) generated 1 warning (run `cargo fix --bin "keyv" -p kseqi-desktop --tests` to apply 1 suggestion)
[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]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[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::nom11 ... ok
[INFO] [stdout] test conf::parse::tests::nom12 ... ok
[INFO] [stdout] test conf::parse::tests::nom10 ... ok
[INFO] [stdout] test conf::parse::tests::nom14 ... ok
[INFO] [stdout] test conf::parse::tests::nom15 ... ok
[INFO] [stdout] test conf::parse::tests::nom16 ... ok
[INFO] [stdout] test conf::parse::tests::nom2 ... ok
[INFO] [stdout] test conf::parse::tests::nom3 ... ok
[INFO] [stdout] test conf::parse::tests::nom4 ... ok
[INFO] [stdout] test conf::parse::tests::nom6 ... ok
[INFO] [stdout] test conf::parse::tests::nom5 ... ok
[INFO] [stdout] test conf::parse::tests::nom13 ... ok
[INFO] [stdout] test conf::parse::tests::nom9 ... ok
[INFO] [stdout] test conf::parse::tests::nome ... ok
[INFO] [stdout] test conf::parse::tests::noml ... ok
[INFO] [stderr] 
[INFO] [stdout] test dispatch::key_changer::tests::knu ... ok
[INFO] [stderr] thread 'xdl::keysym::tests::kes' (548) 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:     0x62040d7ab828 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stderr]    1:     0x62040d7ab828 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::trace_unsynchronized::<std[10d71ac2c42b111e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stderr]    2:     0x62040d7ab828 - std[10d71ac2c42b111e]::sys::backtrace::_print_fmt
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stderr]    3:     0x62040d7ab828 - <<std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8fb95b77d25ab6c8]::fmt::Display>::fmt
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stderr]    4:     0x62040d7bfa1a - <core[8fb95b77d25ab6c8]::fmt::rt::Argument>::fmt
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/fmt/rt.rs:152:76
[INFO] [stderr]    5:     0x62040d7bfa1a - core[8fb95b77d25ab6c8]::fmt::write
[INFO] [stderr]    6:     0x62040d7b0ca2 - std[10d71ac2c42b111e]::io::default_write_fmt::<std[10d71ac2c42b111e]::sys::stdio::unix::Stderr>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:622:11
[INFO] [stderr]    7:     0x62040d7b0ca2 - <std[10d71ac2c42b111e]::sys::stdio::unix::Stderr as std[10d71ac2c42b111e]::io::Write>::write_fmt
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:1977:13
[INFO] [stderr]    8:     0x62040d78a856 - <std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stderr]    9:     0x62040d78a856 - std[10d71ac2c42b111e]::panicking::default_hook::{closure#0}
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:292:27
[INFO] [stderr]   10:     0x62040d7a3d41 - std[10d71ac2c42b111e]::panicking::default_hook
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:319:9
[INFO] [stderr]   11:     0x62040d73555c - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stderr]   12:     0x62040d73555c - test[213991da798b1c03]::test_main_inner::<test[213991da798b1c03]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:155:21
[INFO] [stderr]   13:     0x62040d7a3f32 - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stderr]   14:     0x62040d7a3f32 - std[10d71ac2c42b111e]::panicking::panic_with_hook
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:833:13
[INFO] [stderr]   15:     0x62040d78a944 - std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:691:13
[INFO] [stderr]   16:     0x62040d77fae9 - std[10d71ac2c42b111e]::sys::backtrace::__rust_end_short_backtrace::<std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stderr]   17:     0x62040d78b62d - __rustc[3be9ba60078d4c86]::rust_begin_unwind
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:689:5
[INFO] [stderr]   18:     0x62040d7bffbd - core[8fb95b77d25ab6c8]::panicking::panic_nounwind_fmt::runtime
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panicking.rs:122:22
[INFO] [stderr]   19:     0x62040d7bffbd - core[8fb95b77d25ab6c8]::panicking::panic_nounwind_fmt
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/intrinsics/mod.rs:2450:9
[INFO] [stderr]   20:     0x62040d7c0107 - core[8fb95b77d25ab6c8]::panicking::panic_null_pointer_dereference
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panicking.rs:302:5
[INFO] [stderr]   21:     0x62040d76a27e - <<x11_dl[4cfaf0eb083d81bf]::xlib::Xlib>::init::SYMS as core[8fb95b77d25ab6c8]::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:     0x62040d76a27e - <<<x11_dl[4cfaf0eb083d81bf]::xlib::Xlib>::init::SYMS as core[8fb95b77d25ab6c8]::ops::deref::Deref>::deref::__static_ref_initialize as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   23:     0x62040d76dd83 - <lazy_static[c9b96a060910b30d]::lazy::Lazy<[(&str, usize); 767usize]>>::get::<<<x11_dl[4cfaf0eb083d81bf]::xlib::Xlib>::init::SYMS as core[8fb95b77d25ab6c8]::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:     0x62040d76a52e - <std[10d71ac2c42b111e]::sync::once::Once>::call_once::<<lazy_static[c9b96a060910b30d]::lazy::Lazy<[(&str, usize); 767usize]>>::get<<<x11_dl[4cfaf0eb083d81bf]::xlib::Xlib>::init::SYMS as core[8fb95b77d25ab6c8]::ops::deref::Deref>::deref::__static_ref_initialize>::{closure#0}>::{closure#0}
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sync/once.rs:166:41
[INFO] [stderr]   25:     0x62040d78fa29 - <std[10d71ac2c42b111e]::sys::sync::once::futex::Once>::call
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/sync/once/futex.rs:183:21
[INFO] [stderr]   26:     0x62040d76a449 - <std[10d71ac2c42b111e]::sync::once::Once>::call_once::<<lazy_static[c9b96a060910b30d]::lazy::Lazy<[(&str, usize); 767usize]>>::get<<<x11_dl[4cfaf0eb083d81bf]::xlib::Xlib>::init::SYMS as core[8fb95b77d25ab6c8]::ops::deref::Deref>::deref::__static_ref_initialize>::{closure#0}>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sync/once.rs:166:20
[INFO] [stderr]   27:     0x62040d76b183 - <lazy_static[c9b96a060910b30d]::lazy::Lazy<[(&str, usize); 767usize]>>::get::<<<x11_dl[4cfaf0eb083d81bf]::xlib::Xlib>::init::SYMS as core[8fb95b77d25ab6c8]::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:     0x62040d76b183 - <<x11_dl[4cfaf0eb083d81bf]::xlib::Xlib>::init::SYMS as core[8fb95b77d25ab6c8]::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:     0x62040d76b183 - <<x11_dl[4cfaf0eb083d81bf]::xlib::Xlib>::init::SYMS as core[8fb95b77d25ab6c8]::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:     0x62040d76a573 - <x11_dl[4cfaf0eb083d81bf]::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:     0x62040d76aa0f - <x11_dl[4cfaf0eb083d81bf]::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:     0x62040d700de1 - kseqi_desktop[294bb5349911ace]::xdl::with_xl::<core[8fb95b77d25ab6c8]::result::Result<alloc[a7ee25936407c584]::rc::Rc<kseqi_desktop[294bb5349911ace]::xdl::XlibDpy>, x11_dl[4cfaf0eb083d81bf]::error::OpenError>, kseqi_desktop[294bb5349911ace]::xdl::get_x::{closure#0}>::{closure#0}
[INFO] [stderr]                                at /opt/rustwide/workdir/src/xdl/mod.rs:69:19
[INFO] [stderr]   33:     0x62040d718ad3 - <std[10d71ac2c42b111e]::thread::local::LocalKey<core[8fb95b77d25ab6c8]::cell::RefCell<kseqi_desktop[294bb5349911ace]::xdl::LazyValue<alloc[a7ee25936407c584]::rc::Rc<kseqi_desktop[294bb5349911ace]::xdl::XlibDpy>, x11_dl[4cfaf0eb083d81bf]::error::OpenError>>>>::try_with::<kseqi_desktop[294bb5349911ace]::xdl::with_xl<core[8fb95b77d25ab6c8]::result::Result<alloc[a7ee25936407c584]::rc::Rc<kseqi_desktop[294bb5349911ace]::xdl::XlibDpy>, x11_dl[4cfaf0eb083d81bf]::error::OpenError>, kseqi_desktop[294bb5349911ace]::xdl::get_x::{closure#0}>::{closure#0}, core[8fb95b77d25ab6c8]::result::Result<alloc[a7ee25936407c584]::rc::Rc<kseqi_desktop[294bb5349911ace]::xdl::XlibDpy>, x11_dl[4cfaf0eb083d81bf]::error::OpenError>>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/local.rs:462:12
[INFO] [stderr]   34:     0x62040d71896d - <std[10d71ac2c42b111e]::thread::local::LocalKey<core[8fb95b77d25ab6c8]::cell::RefCell<kseqi_desktop[294bb5349911ace]::xdl::LazyValue<alloc[a7ee25936407c584]::rc::Rc<kseqi_desktop[294bb5349911ace]::xdl::XlibDpy>, x11_dl[4cfaf0eb083d81bf]::error::OpenError>>>>::with::<kseqi_desktop[294bb5349911ace]::xdl::with_xl<core[8fb95b77d25ab6c8]::result::Result<alloc[a7ee25936407c584]::rc::Rc<kseqi_desktop[294bb5349911ace]::xdl::XlibDpy>, x11_dl[4cfaf0eb083d81bf]::error::OpenError>, kseqi_desktop[294bb5349911ace]::xdl::get_x::{closure#0}>::{closure#0}, core[8fb95b77d25ab6c8]::result::Result<alloc[a7ee25936407c584]::rc::Rc<kseqi_desktop[294bb5349911ace]::xdl::XlibDpy>, x11_dl[4cfaf0eb083d81bf]::error::OpenError>>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/local.rs:426:20
[INFO] [stderr]   35:     0x62040d700198 - kseqi_desktop[294bb5349911ace]::xdl::with_xl::<core[8fb95b77d25ab6c8]::result::Result<alloc[a7ee25936407c584]::rc::Rc<kseqi_desktop[294bb5349911ace]::xdl::XlibDpy>, x11_dl[4cfaf0eb083d81bf]::error::OpenError>, kseqi_desktop[294bb5349911ace]::xdl::get_x::{closure#0}>
[INFO] [stderr]                                at /opt/rustwide/workdir/src/xdl/mod.rs:67:13
[INFO] [stderr]   36:     0x62040d703a7d - kseqi_desktop[294bb5349911ace]::xdl::get_x
[INFO] [stderr]                                at /opt/rustwide/workdir/src/xdl/mod.rs:89:5
[INFO] [stderr]   37:     0x62040d702a6a - <kseqi_desktop[294bb5349911ace]::xdl::Xconn>::new
[INFO] [stderr]                                at /opt/rustwide/workdir/src/xdl/mod.rs:135:20
[INFO] [stderr]   38:     0x62040d703d54 - kseqi_desktop[294bb5349911ace]::xdl::keysym::tests::kes
[INFO] [stderr]                                at /opt/rustwide/workdir/src/xdl/keysym.rs:1350:16
[INFO] [stderr]   39:     0x62040d701ea7 - kseqi_desktop[294bb5349911ace]::xdl::keysym::tests::kes::{closure#0}
[INFO] [stderr]                                at /opt/rustwide/workdir/src/xdl/keysym.rs:1349:13
[INFO] [stderr]   40:     0x62040d7178b6 - <kseqi_desktop[294bb5349911ace]::xdl::keysym::tests::kes::{closure#0} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   41:     0x62040d72863b - <fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   42:     0x62040d72863b - test[213991da798b1c03]::__rust_begin_short_backtrace::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:724:18
[INFO] [stderr]   43:     0x62040d735eb5 - test[213991da798b1c03]::run_test_in_process::{closure#0}
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:74
[INFO] [stderr]   44:     0x62040d735eb5 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stderr]   45:     0x62040d735eb5 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stderr]   46:     0x62040d735eb5 - std[10d71ac2c42b111e]::panicking::catch_unwind::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stderr]   47:     0x62040d735eb5 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stderr]   48:     0x62040d735eb5 - test[213991da798b1c03]::run_test_in_process
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:27
[INFO] [stderr]   49:     0x62040d735eb5 - test[213991da798b1c03]::run_test::{closure#0}
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:668:43
[INFO] [stderr]   50:     0x62040d72f7c4 - test[213991da798b1c03]::run_test::{closure#1}
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:698:41
[INFO] [stderr]   51:     0x62040d72f7c4 - std[10d71ac2c42b111e]::sys::backtrace::__rust_begin_short_backtrace::<test[213991da798b1c03]::run_test::{closure#1}, ()>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stderr]   52:     0x62040d738f32 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stderr]   53:     0x62040d738f32 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stderr]   54:     0x62040d738f32 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stderr]   55:     0x62040d738f32 - std[10d71ac2c42b111e]::panicking::catch_unwind::<(), core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stderr]   56:     0x62040d738f32 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stderr]   57:     0x62040d738f32 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stderr]   58:     0x62040d738f32 - <std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   59:     0x62040d7ab18f - <alloc[a7ee25936407c584]::boxed::Box<dyn core[8fb95b77d25ab6c8]::ops::function::FnOnce<(), Output = ()> + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2275:9
[INFO] [stderr]   60:     0x62040d7ab18f - <std[10d71ac2c42b111e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stderr]   61:     0x767d8a0d7aa4 - <unknown>
[INFO] [stderr]   62:     0x767d8a164a64 - 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" "7f19e95e84f5d7a02b8b78615aeec6275e599ee91345319f696721ac40e9da3d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7f19e95e84f5d7a02b8b78615aeec6275e599ee91345319f696721ac40e9da3d", kill_on_drop: false }`
[INFO] [stdout] 7f19e95e84f5d7a02b8b78615aeec6275e599ee91345319f696721ac40e9da3d
