[INFO] cloning repository https://github.com/tmccombs/dopen
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tmccombs/dopen" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftmccombs%2Fdopen", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftmccombs%2Fdopen'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ea9b55830ff69db081de276bc5864436b9a9f6c7
[INFO] checking tmccombs/dopen against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftmccombs%2Fdopen" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/tmccombs/dopen
[INFO] finished tweaking git repo https://github.com/tmccombs/dopen
[INFO] tweaked toml for git repo https://github.com/tmccombs/dopen written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tmccombs/dopen on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tmccombs/dopen 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5e77ec137511c7c035332dd1ef13bf266b77b8f636b84829bfc4397964000992
[INFO] running `Command { std: "docker" "start" "-a" "5e77ec137511c7c035332dd1ef13bf266b77b8f636b84829bfc4397964000992", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5e77ec137511c7c035332dd1ef13bf266b77b8f636b84829bfc4397964000992", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5e77ec137511c7c035332dd1ef13bf266b77b8f636b84829bfc4397964000992", kill_on_drop: false }`
[INFO] [stdout] 5e77ec137511c7c035332dd1ef13bf266b77b8f636b84829bfc4397964000992
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dunmustuse_in_always_ok" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a95b1afeababe36b03fef7f66dda403dce62a4a7f94fa8f42474ed69137c17fc
[INFO] running `Command { std: "docker" "start" "-a" "a95b1afeababe36b03fef7f66dda403dce62a4a7f94fa8f42474ed69137c17fc", kill_on_drop: false }`
[INFO] [stderr]     Checking regex-syntax v0.6.26
[INFO] [stderr]     Checking once_cell v1.12.0
[INFO] [stderr]     Checking nom v7.1.1
[INFO] [stderr]     Checking regex v1.5.6
[INFO] [stderr]     Checking nom-regex v0.2.0
[INFO] [stderr]     Checking dopen v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `entry` is never read
[INFO] [stdout]    --> src/desktop/execute.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct CommandExecutor<'a> {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 145 |     entry: &'a DesktopEntry,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Type, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:106:62
[INFO] [stdout]     |
[INFO] [stdout] 106 |       fn from_str(s: &str) -> Result<Type, string::ParseError> {
[INFO] [stdout]     |  ______________________________________________________________^
[INFO] [stdout] 107 | |         Ok(match s {
[INFO] [stdout] 108 | |             "Application" => Type::Application,
[INFO] [stdout] 109 | |             "Link" => Type::Link,
[INFO] [stdout] ...   |
[INFO] [stdout] 112 | |         })
[INFO] [stdout] 113 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Type, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 | /         Ok(match s {
[INFO] [stdout] 108 | |             "Application" => Type::Application,
[INFO] [stdout] 109 | |             "Link" => Type::Link,
[INFO] [stdout] 110 | |             "Directory" => Type::Directory,
[INFO] [stdout] 111 | |             other => Type::Unknown(other.into()),
[INFO] [stdout] 112 | |         })
[INFO] [stdout]     | |__________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Category, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:135:66
[INFO] [stdout]     |
[INFO] [stdout] 135 |       fn from_str(s: &str) -> Result<Category, string::ParseError> {
[INFO] [stdout]     |  __________________________________________________________________^
[INFO] [stdout] 136 | |         use self::Category::*;
[INFO] [stdout] 137 | |         Ok(match s {
[INFO] [stdout] 138 | |             "AudioVideo" => AudioVideo,
[INFO] [stdout] ...   |
[INFO] [stdout] 152 | |         })
[INFO] [stdout] 153 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Category, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | /         Ok(match s {
[INFO] [stdout] 138 | |             "AudioVideo" => AudioVideo,
[INFO] [stdout] 139 | |             "Audio" => Audio,
[INFO] [stdout] 140 | |             "Video" => Video,
[INFO] [stdout] ...   |
[INFO] [stdout] 151 | |             other => Custom(other.into()),
[INFO] [stdout] 152 | |         })
[INFO] [stdout]     | |__________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Categories, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:166:68
[INFO] [stdout]     |
[INFO] [stdout] 166 |       fn from_str(s: &str) -> Result<Categories, string::ParseError> {
[INFO] [stdout]     |  ____________________________________________________________________^
[INFO] [stdout] 167 | |         Ok(Categories(
[INFO] [stdout] 168 | |             util::split_value_str(s)
[INFO] [stdout] 169 | |                 .map(|v| v.parse::<Category>().unwrap())
[INFO] [stdout] 170 | |                 .collect(),
[INFO] [stdout] 171 | |         ))
[INFO] [stdout] 172 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Categories, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 | /         Ok(Categories(
[INFO] [stdout] 168 | |             util::split_value_str(s)
[INFO] [stdout] 169 | |                 .map(|v| v.parse::<Category>().unwrap())
[INFO] [stdout] 170 | |                 .collect(),
[INFO] [stdout] 171 | |         ))
[INFO] [stdout]     | |__________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Category, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:169:26
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 .map(|v| v.parse::<Category>().unwrap())
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Version, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:51:71
[INFO] [stdout]     |
[INFO] [stdout]  51 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  52 | |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]  53 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 181 |   entry_type!(Version(String));
[INFO] [stdout]     |   ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Version, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:52:17
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 | entry_type!(Version(String));
[INFO] [stdout]     | ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Name, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:51:71
[INFO] [stdout]     |
[INFO] [stdout]  51 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  52 | |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]  53 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 182 |   entry_type!(Name(String));
[INFO] [stdout]     |   ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Name, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:52:17
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 | entry_type!(Name(String));
[INFO] [stdout]     | ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<GenericName, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:51:71
[INFO] [stdout]     |
[INFO] [stdout]  51 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  52 | |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]  53 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 183 |   entry_type!(GenericName(String));
[INFO] [stdout]     |   -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<GenericName, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:52:17
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 | entry_type!(GenericName(String));
[INFO] [stdout]     | -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Comment, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:51:71
[INFO] [stdout]     |
[INFO] [stdout]  51 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  52 | |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]  53 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 185 |   entry_type!(Comment(String));
[INFO] [stdout]     |   ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Comment, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:52:17
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 | entry_type!(Comment(String));
[INFO] [stdout]     | ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Icon, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:51:71
[INFO] [stdout]     |
[INFO] [stdout]  51 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  52 | |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]  53 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 186 |   entry_type!(Icon(String));
[INFO] [stdout]     |   ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Icon, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:52:17
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 | entry_type!(Icon(String));
[INFO] [stdout]     | ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<OnlyShowIn, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:77:71
[INFO] [stdout]     |
[INFO] [stdout]  77 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  78 | |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]  79 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 188 |   entry_type!(OnlyShowIn(Vec<String>));
[INFO] [stdout]     |   ------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<OnlyShowIn, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:78:17
[INFO] [stdout]     |
[INFO] [stdout]  78 |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 | entry_type!(OnlyShowIn(Vec<String>));
[INFO] [stdout]     | ------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<NotShowIn, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:77:71
[INFO] [stdout]     |
[INFO] [stdout]  77 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  78 | |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]  79 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 189 |   entry_type!(NotShowIn(Vec<String>));
[INFO] [stdout]     |   ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<NotShowIn, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:78:17
[INFO] [stdout]     |
[INFO] [stdout]  78 |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 | entry_type!(NotShowIn(Vec<String>));
[INFO] [stdout]     | ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<TryExec, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:51:71
[INFO] [stdout]     |
[INFO] [stdout]  51 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  52 | |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]  53 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 191 |   entry_type!(TryExec(String));
[INFO] [stdout]     |   ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<TryExec, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:52:17
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 | entry_type!(TryExec(String));
[INFO] [stdout]     | ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<desktop::entries::Exec, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:51:71
[INFO] [stdout]     |
[INFO] [stdout]  51 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  52 | |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]  53 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 192 |   entry_type!(Exec(String));
[INFO] [stdout]     |   ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<desktop::entries::Exec, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:52:17
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 | entry_type!(Exec(String));
[INFO] [stdout]     | ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<desktop::entries::Path, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:51:71
[INFO] [stdout]     |
[INFO] [stdout]  51 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  52 | |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]  53 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 193 |   entry_type!(Path(String));
[INFO] [stdout]     |   ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<desktop::entries::Path, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:52:17
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 | entry_type!(Path(String));
[INFO] [stdout]     | ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Actions, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:77:71
[INFO] [stdout]     |
[INFO] [stdout]  77 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  78 | |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]  79 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 195 |   entry_type!(Actions(Vec<String>));
[INFO] [stdout]     |   --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Actions, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:78:17
[INFO] [stdout]     |
[INFO] [stdout]  78 |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 | entry_type!(Actions(Vec<String>));
[INFO] [stdout]     | --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<MimeType, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:77:71
[INFO] [stdout]     |
[INFO] [stdout]  77 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  78 | |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]  79 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 196 |   entry_type!(MimeType(Vec<String>));
[INFO] [stdout]     |   ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<MimeType, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:78:17
[INFO] [stdout]     |
[INFO] [stdout]  78 |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 | entry_type!(MimeType(Vec<String>));
[INFO] [stdout]     | ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Implements, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:77:71
[INFO] [stdout]     |
[INFO] [stdout]  77 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  78 | |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]  79 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 197 |   entry_type!(Implements(Vec<String>));
[INFO] [stdout]     |   ------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Implements, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:78:17
[INFO] [stdout]     |
[INFO] [stdout]  78 |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 | entry_type!(Implements(Vec<String>));
[INFO] [stdout]     | ------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Keywords, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:77:71
[INFO] [stdout]     |
[INFO] [stdout]  77 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  78 | |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]  79 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 198 |   entry_type!(Keywords(Vec<String>));
[INFO] [stdout]     |   ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Keywords, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:78:17
[INFO] [stdout]     |
[INFO] [stdout]  78 |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 | entry_type!(Keywords(Vec<String>));
[INFO] [stdout]     | ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<StartupWMClass, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:51:71
[INFO] [stdout]     |
[INFO] [stdout]  51 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  52 | |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]  53 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 200 |   entry_type!(StartupWMClass(String));
[INFO] [stdout]     |   ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<StartupWMClass, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:52:17
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 | entry_type!(StartupWMClass(String));
[INFO] [stdout]     | ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<URL, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:51:71
[INFO] [stdout]     |
[INFO] [stdout]  51 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  52 | |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]  53 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 201 |   entry_type!(URL(String));
[INFO] [stdout]     |   ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<URL, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:52:17
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 | entry_type!(URL(String));
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/desktop/entries.rs:211:31
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn split_value_str(s: &str) -> Values {
[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] 211 |     pub fn split_value_str(s: &str) -> Values<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `exec` that must be used
[INFO] [stdout]    --> src/desktop/execute.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |         self.command.exec();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let _ = self.command.exec();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/desktop/model.rs:63:19
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn groups(&self) -> slice::Iter<Group> {
[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] 63 |     pub fn groups(&self) -> slice::Iter<'_, Group> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/desktop/parser.rs:48:25
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn desktop_entry(input: &[u8]) -> IResult<DesktopEntry> {
[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] 48 | fn desktop_entry(input: &[u8]) -> IResult<'_, DesktopEntry> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/desktop/parser.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn group(i: &[u8]) -> IResult<Group> {
[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] 52 | fn group(i: &[u8]) -> IResult<'_, Group> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/desktop/parser.rs:61:15
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn comment(i: &[u8]) -> IResult<&[u8]> {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^^^^^^^
[INFO] [stdout]    |               |         |       |
[INFO] [stdout]    |               |         |       the same lifetime is elided here
[INFO] [stdout]    |               |         the same lifetime is hidden 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] 61 | fn comment(i: &[u8]) -> IResult<'_, &[u8]> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/desktop/parser.rs:65:14
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn blanks(i: &[u8]) -> IResult<()> {
[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] 65 | fn blanks(i: &[u8]) -> IResult<'_, ()> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/desktop/parser.rs:70:22
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn key_value_list(i: &[u8]) -> IResult<HashMap<String, String>> {
[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] 70 | fn key_value_list(i: &[u8]) -> IResult<'_, HashMap<String, String>> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/desktop/parser.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn entry(i: &[u8]) -> IResult<(String, String)> {
[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] 81 | fn entry(i: &[u8]) -> IResult<'_, (String, String)> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/desktop/parser.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn entry_key(i: &[u8]) -> IResult<String> {
[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] 93 | fn entry_key(i: &[u8]) -> IResult<'_, String> {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/desktop/parser.rs:109:19
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn entry_value(i: &[u8]) -> IResult<String> {
[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] 109 | fn entry_value(i: &[u8]) -> IResult<'_, String> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dopen` (lib) due to 39 previous errors; 12 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: field `entry` is never read
[INFO] [stdout]    --> src/desktop/execute.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct CommandExecutor<'a> {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 145 |     entry: &'a DesktopEntry,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Type, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:106:62
[INFO] [stdout]     |
[INFO] [stdout] 106 |       fn from_str(s: &str) -> Result<Type, string::ParseError> {
[INFO] [stdout]     |  ______________________________________________________________^
[INFO] [stdout] 107 | |         Ok(match s {
[INFO] [stdout] 108 | |             "Application" => Type::Application,
[INFO] [stdout] 109 | |             "Link" => Type::Link,
[INFO] [stdout] ...   |
[INFO] [stdout] 112 | |         })
[INFO] [stdout] 113 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Type, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 | /         Ok(match s {
[INFO] [stdout] 108 | |             "Application" => Type::Application,
[INFO] [stdout] 109 | |             "Link" => Type::Link,
[INFO] [stdout] 110 | |             "Directory" => Type::Directory,
[INFO] [stdout] 111 | |             other => Type::Unknown(other.into()),
[INFO] [stdout] 112 | |         })
[INFO] [stdout]     | |__________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Category, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:135:66
[INFO] [stdout]     |
[INFO] [stdout] 135 |       fn from_str(s: &str) -> Result<Category, string::ParseError> {
[INFO] [stdout]     |  __________________________________________________________________^
[INFO] [stdout] 136 | |         use self::Category::*;
[INFO] [stdout] 137 | |         Ok(match s {
[INFO] [stdout] 138 | |             "AudioVideo" => AudioVideo,
[INFO] [stdout] ...   |
[INFO] [stdout] 152 | |         })
[INFO] [stdout] 153 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Category, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | /         Ok(match s {
[INFO] [stdout] 138 | |             "AudioVideo" => AudioVideo,
[INFO] [stdout] 139 | |             "Audio" => Audio,
[INFO] [stdout] 140 | |             "Video" => Video,
[INFO] [stdout] ...   |
[INFO] [stdout] 151 | |             other => Custom(other.into()),
[INFO] [stdout] 152 | |         })
[INFO] [stdout]     | |__________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Categories, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:166:68
[INFO] [stdout]     |
[INFO] [stdout] 166 |       fn from_str(s: &str) -> Result<Categories, string::ParseError> {
[INFO] [stdout]     |  ____________________________________________________________________^
[INFO] [stdout] 167 | |         Ok(Categories(
[INFO] [stdout] 168 | |             util::split_value_str(s)
[INFO] [stdout] 169 | |                 .map(|v| v.parse::<Category>().unwrap())
[INFO] [stdout] 170 | |                 .collect(),
[INFO] [stdout] 171 | |         ))
[INFO] [stdout] 172 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Categories, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 | /         Ok(Categories(
[INFO] [stdout] 168 | |             util::split_value_str(s)
[INFO] [stdout] 169 | |                 .map(|v| v.parse::<Category>().unwrap())
[INFO] [stdout] 170 | |                 .collect(),
[INFO] [stdout] 171 | |         ))
[INFO] [stdout]     | |__________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Category, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:169:26
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 .map(|v| v.parse::<Category>().unwrap())
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Version, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:51:71
[INFO] [stdout]     |
[INFO] [stdout]  51 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  52 | |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]  53 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 181 |   entry_type!(Version(String));
[INFO] [stdout]     |   ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Version, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:52:17
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 | entry_type!(Version(String));
[INFO] [stdout]     | ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Name, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:51:71
[INFO] [stdout]     |
[INFO] [stdout]  51 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  52 | |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]  53 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 182 |   entry_type!(Name(String));
[INFO] [stdout]     |   ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Name, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:52:17
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 | entry_type!(Name(String));
[INFO] [stdout]     | ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<GenericName, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:51:71
[INFO] [stdout]     |
[INFO] [stdout]  51 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  52 | |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]  53 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 183 |   entry_type!(GenericName(String));
[INFO] [stdout]     |   -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<GenericName, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:52:17
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 | entry_type!(GenericName(String));
[INFO] [stdout]     | -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Comment, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:51:71
[INFO] [stdout]     |
[INFO] [stdout]  51 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  52 | |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]  53 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 185 |   entry_type!(Comment(String));
[INFO] [stdout]     |   ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Comment, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:52:17
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 | entry_type!(Comment(String));
[INFO] [stdout]     | ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Icon, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:51:71
[INFO] [stdout]     |
[INFO] [stdout]  51 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  52 | |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]  53 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 186 |   entry_type!(Icon(String));
[INFO] [stdout]     |   ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Icon, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:52:17
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 | entry_type!(Icon(String));
[INFO] [stdout]     | ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<OnlyShowIn, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:77:71
[INFO] [stdout]     |
[INFO] [stdout]  77 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  78 | |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]  79 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 188 |   entry_type!(OnlyShowIn(Vec<String>));
[INFO] [stdout]     |   ------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<OnlyShowIn, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:78:17
[INFO] [stdout]     |
[INFO] [stdout]  78 |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 | entry_type!(OnlyShowIn(Vec<String>));
[INFO] [stdout]     | ------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<NotShowIn, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:77:71
[INFO] [stdout]     |
[INFO] [stdout]  77 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  78 | |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]  79 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 189 |   entry_type!(NotShowIn(Vec<String>));
[INFO] [stdout]     |   ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<NotShowIn, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:78:17
[INFO] [stdout]     |
[INFO] [stdout]  78 |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 | entry_type!(NotShowIn(Vec<String>));
[INFO] [stdout]     | ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<TryExec, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:51:71
[INFO] [stdout]     |
[INFO] [stdout]  51 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  52 | |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]  53 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 191 |   entry_type!(TryExec(String));
[INFO] [stdout]     |   ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<TryExec, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:52:17
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 | entry_type!(TryExec(String));
[INFO] [stdout]     | ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<desktop::entries::Exec, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:51:71
[INFO] [stdout]     |
[INFO] [stdout]  51 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  52 | |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]  53 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 192 |   entry_type!(Exec(String));
[INFO] [stdout]     |   ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<desktop::entries::Exec, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:52:17
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 | entry_type!(Exec(String));
[INFO] [stdout]     | ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<desktop::entries::Path, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:51:71
[INFO] [stdout]     |
[INFO] [stdout]  51 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  52 | |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]  53 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 193 |   entry_type!(Path(String));
[INFO] [stdout]     |   ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<desktop::entries::Path, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:52:17
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 | entry_type!(Path(String));
[INFO] [stdout]     | ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Actions, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:77:71
[INFO] [stdout]     |
[INFO] [stdout]  77 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  78 | |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]  79 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 195 |   entry_type!(Actions(Vec<String>));
[INFO] [stdout]     |   --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Actions, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:78:17
[INFO] [stdout]     |
[INFO] [stdout]  78 |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 | entry_type!(Actions(Vec<String>));
[INFO] [stdout]     | --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<MimeType, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:77:71
[INFO] [stdout]     |
[INFO] [stdout]  77 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  78 | |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]  79 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 196 |   entry_type!(MimeType(Vec<String>));
[INFO] [stdout]     |   ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<MimeType, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:78:17
[INFO] [stdout]     |
[INFO] [stdout]  78 |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 | entry_type!(MimeType(Vec<String>));
[INFO] [stdout]     | ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Implements, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:77:71
[INFO] [stdout]     |
[INFO] [stdout]  77 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  78 | |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]  79 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 197 |   entry_type!(Implements(Vec<String>));
[INFO] [stdout]     |   ------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Implements, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:78:17
[INFO] [stdout]     |
[INFO] [stdout]  78 |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 | entry_type!(Implements(Vec<String>));
[INFO] [stdout]     | ------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Keywords, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:77:71
[INFO] [stdout]     |
[INFO] [stdout]  77 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  78 | |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]  79 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 198 |   entry_type!(Keywords(Vec<String>));
[INFO] [stdout]     |   ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Keywords, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:78:17
[INFO] [stdout]     |
[INFO] [stdout]  78 |                 Ok($name(util::split_value_str(s).collect()))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 | entry_type!(Keywords(Vec<String>));
[INFO] [stdout]     | ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<StartupWMClass, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:51:71
[INFO] [stdout]     |
[INFO] [stdout]  51 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  52 | |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]  53 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 200 |   entry_type!(StartupWMClass(String));
[INFO] [stdout]     |   ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<StartupWMClass, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:52:17
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 | entry_type!(StartupWMClass(String));
[INFO] [stdout]     | ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<URL, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:51:71
[INFO] [stdout]     |
[INFO] [stdout]  51 |               fn from_str(s: &str) -> Result<$name, string::ParseError> {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout]  52 | |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]  53 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 201 |   entry_type!(URL(String));
[INFO] [stdout]     |   ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<URL, Infallible>
[INFO] [stdout]    --> src/desktop/entries.rs:52:17
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 Ok($name(util::unescape_value(s)))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 | entry_type!(URL(String));
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `entry_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/desktop/entries.rs:211:31
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn split_value_str(s: &str) -> Values {
[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] 211 |     pub fn split_value_str(s: &str) -> Values<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `exec` that must be used
[INFO] [stdout]    --> src/desktop/execute.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |         self.command.exec();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let _ = self.command.exec();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/desktop/model.rs:63:19
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn groups(&self) -> slice::Iter<Group> {
[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] 63 |     pub fn groups(&self) -> slice::Iter<'_, Group> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/desktop/parser.rs:48:25
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn desktop_entry(input: &[u8]) -> IResult<DesktopEntry> {
[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] 48 | fn desktop_entry(input: &[u8]) -> IResult<'_, DesktopEntry> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/desktop/parser.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn group(i: &[u8]) -> IResult<Group> {
[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] 52 | fn group(i: &[u8]) -> IResult<'_, Group> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/desktop/parser.rs:61:15
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn comment(i: &[u8]) -> IResult<&[u8]> {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^^^^^^^
[INFO] [stdout]    |               |         |       |
[INFO] [stdout]    |               |         |       the same lifetime is elided here
[INFO] [stdout]    |               |         the same lifetime is hidden 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] 61 | fn comment(i: &[u8]) -> IResult<'_, &[u8]> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/desktop/parser.rs:65:14
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn blanks(i: &[u8]) -> IResult<()> {
[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] 65 | fn blanks(i: &[u8]) -> IResult<'_, ()> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/desktop/parser.rs:70:22
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn key_value_list(i: &[u8]) -> IResult<HashMap<String, String>> {
[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] 70 | fn key_value_list(i: &[u8]) -> IResult<'_, HashMap<String, String>> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/desktop/parser.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn entry(i: &[u8]) -> IResult<(String, String)> {
[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] 81 | fn entry(i: &[u8]) -> IResult<'_, (String, String)> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/desktop/parser.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn entry_key(i: &[u8]) -> IResult<String> {
[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] 93 | fn entry_key(i: &[u8]) -> IResult<'_, String> {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/desktop/parser.rs:109:19
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn entry_value(i: &[u8]) -> IResult<String> {
[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] 109 | fn entry_value(i: &[u8]) -> IResult<'_, String> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dopen` (lib test) due to 39 previous errors; 12 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "a95b1afeababe36b03fef7f66dda403dce62a4a7f94fa8f42474ed69137c17fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a95b1afeababe36b03fef7f66dda403dce62a4a7f94fa8f42474ed69137c17fc", kill_on_drop: false }`
[INFO] [stdout] a95b1afeababe36b03fef7f66dda403dce62a4a7f94fa8f42474ed69137c17fc
