[INFO] cloning repository https://github.com/cubeww/gm8poconverter
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cubeww/gm8poconverter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcubeww%2Fgm8poconverter", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcubeww%2Fgm8poconverter'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 78c8a0fa221b25506ff0c922c3cd29c9fbbc62a9
[INFO] checking cubeww/gm8poconverter against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcubeww%2Fgm8poconverter" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/cubeww/gm8poconverter
[INFO] finished tweaking git repo https://github.com/cubeww/gm8poconverter
[INFO] tweaked toml for git repo https://github.com/cubeww/gm8poconverter written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cubeww/gm8poconverter on toolchain 52995a223f2919dd3e2e427231db90a257350ded
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cubeww/gm8poconverter 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" "+52995a223f2919dd3e2e427231db90a257350ded" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] bc0804a0317373f0c0c9d5148b66097ac64805a9d7703f1c27556661f1cfd8a9
[INFO] running `Command { std: "docker" "start" "bc0804a0317373f0c0c9d5148b66097ac64805a9d7703f1c27556661f1cfd8a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bc0804a0317373f0c0c9d5148b66097ac64805a9d7703f1c27556661f1cfd8a9", 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" "bc0804a0317373f0c0c9d5148b66097ac64805a9d7703f1c27556661f1cfd8a9" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bc0804a0317373f0c0c9d5148b66097ac64805a9d7703f1c27556661f1cfd8a9", 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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bc0804a0317373f0c0c9d5148b66097ac64805a9d7703f1c27556661f1cfd8a9" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling libc v0.2.133
[INFO] [stderr]    Compiling crossbeam-utils v0.8.11
[INFO] [stderr]     Checking once_cell v1.15.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.10
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling pkg-config v0.3.25
[INFO] [stderr]    Compiling rayon v1.5.3
[INFO] [stderr]     Checking either v1.8.0
[INFO] [stderr]    Compiling num_threads v0.1.6
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling rayon-core v1.9.3
[INFO] [stderr]     Checking miniz_oxide v0.5.4
[INFO] [stderr]     Checking getopts v0.2.21
[INFO] [stderr]     Checking gml-parser v0.2.0 (/opt/rustwide/workdir/gml-parser)
[INFO] [stdout] warning: use of deprecated module `std::u64`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> gml-parser/src/lexer.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 |     str, u64,
[INFO] [stdout]   |          ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u64::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> gml-parser/src/lexer.rs:227:67
[INFO] [stdout]     |
[INFO] [stdout] 227 |                         u64::from_str_radix(s, 16).unwrap_or(u64::MAX) as f64,
[INFO] [stdout]     |                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::u64`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> gml-parser/src/lexer.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 |     str, u64,
[INFO] [stdout]   |          ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u64::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> gml-parser/src/lexer.rs:227:67
[INFO] [stdout]     |
[INFO] [stdout] 227 |                         u64::from_str_radix(s, 16).unwrap_or(u64::MAX) as f64,
[INFO] [stdout]     |                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking crossbeam-channel v0.5.6
[INFO] [stderr]    Compiling cmake v0.1.49
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.2
[INFO] [stderr]    Compiling time v0.3.14
[INFO] [stderr]    Compiling libz-sys v1.1.8
[INFO] [stderr]    Compiling gm8poconverter v0.1.0 (/opt/rustwide/workdir/gm8poconverter)
[INFO] [stderr]     Checking flate2 v1.0.24
[INFO] [stderr]     Checking gm8exe v0.2.0 (/opt/rustwide/workdir/gm8exe)
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata/gm80.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     log!(logger, "Checking for standard GM8.0 format...");
[INFO] [stdout]    |     ----------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout]    = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata/gm80.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 |                     log!(logger, "GM8.0 magic check's JNZ is patched out");
[INFO] [stdout]    |                     ------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata/gm80.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 log!(logger, "GM8.0 magic check is patched out with NOP");
[INFO] [stdout]    |                 --------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata/gm80.rs:73:25
[INFO] [stdout]    |
[INFO] [stdout] 73 |                         log!(logger, "GM8.0 header version check is patched out with NOP");
[INFO] [stdout]    |                         ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata/gm80.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 log!(logger, "GM8.0 header version check appears patched out");
[INFO] [stdout]    |                 -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]     |
[INFO] [stdout]   4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]   7 |             logger($x.into());
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: gm8exe/src/gamedata/gm80.rs:100:29
[INFO] [stdout]     |
[INFO] [stdout] 100 | ...                   log!(logger, "Passed end of stream looking for GM8.0 header, so quitting");
[INFO] [stdout]     |                       -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata/gm81.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     log!(logger, "Checking for standard GM8.1 format");
[INFO] [stdout]    |     -------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata/gm81.rs:46:21
[INFO] [stdout]    |
[INFO] [stdout] 46 |                     log!(logger, "GM8.1 magic check's JE is patched out");
[INFO] [stdout]    |                     ----------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata/gm81.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 log!(logger, "Found SUDALV re-encryption");
[INFO] [stdout]    |                 ------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata/gm81.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     log!(logger, "Searching for default GM8.1 data header");
[INFO] [stdout]    |     ------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 |                     log!(logger, "Found GM8.0 antidec2 loading sequence, decrypting with these settings:");
[INFO] [stdout]    |                     -------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 log!(logger, "Found GM8.1 antidec2 loading sequence, decrypting with these settings:");
[INFO] [stdout]    |                 -------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata.rs:65:25
[INFO] [stdout]    |
[INFO] [stdout] 65 |                         log!(logger, "Didn't find GM81 magic value (0xF7140017) before EOF, so giving up");
[INFO] [stdout]    |                         ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata.rs:80:21
[INFO] [stdout]    |
[INFO] [stdout] 80 |                     log!(logger, "Found GM8.0 antidec2 loading sequence [no UPX], decrypting with these settings:");
[INFO] [stdout]    |                     ----------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |                     log!(logger, "Found GM8.1 antidec2 loading sequence [no UPX], decrypting with these settings:");
[INFO] [stdout]    |                     ----------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]     |
[INFO] [stdout]   4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]   7 |             logger($x.into());
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: gm8exe/src/gamedata.rs:105:25
[INFO] [stdout]     |
[INFO] [stdout] 105 |                         log!(logger, "Didn't find GM81 magic value (0xF7140017) before EOF, so giving up");
[INFO] [stdout]     |                         ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]     |
[INFO] [stdout]   4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]   7 |             logger($x.into());
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: gm8exe/src/reader.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |     log!(logger, "Reading settings chunk...");
[INFO] [stdout]     |     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]     |
[INFO] [stdout]   4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]   7 |             logger($x.into());
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: gm8exe/src/reader.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         log!(logger, " + Loaded settings structure");
[INFO] [stdout]     |         -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `gm8exe` (lib) due to 18 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata/gm80.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     log!(logger, "Checking for standard GM8.0 format...");
[INFO] [stdout]    |     ----------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout]    = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata/gm80.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 |                     log!(logger, "GM8.0 magic check's JNZ is patched out");
[INFO] [stdout]    |                     ------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata/gm80.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 log!(logger, "GM8.0 magic check is patched out with NOP");
[INFO] [stdout]    |                 --------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata/gm80.rs:73:25
[INFO] [stdout]    |
[INFO] [stdout] 73 |                         log!(logger, "GM8.0 header version check is patched out with NOP");
[INFO] [stdout]    |                         ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata/gm80.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 log!(logger, "GM8.0 header version check appears patched out");
[INFO] [stdout]    |                 -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]     |
[INFO] [stdout]   4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]   7 |             logger($x.into());
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: gm8exe/src/gamedata/gm80.rs:100:29
[INFO] [stdout]     |
[INFO] [stdout] 100 | ...                   log!(logger, "Passed end of stream looking for GM8.0 header, so quitting");
[INFO] [stdout]     |                       -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata/gm81.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     log!(logger, "Checking for standard GM8.1 format");
[INFO] [stdout]    |     -------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata/gm81.rs:46:21
[INFO] [stdout]    |
[INFO] [stdout] 46 |                     log!(logger, "GM8.1 magic check's JE is patched out");
[INFO] [stdout]    |                     ----------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata/gm81.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 log!(logger, "Found SUDALV re-encryption");
[INFO] [stdout]    |                 ------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata/gm81.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     log!(logger, "Searching for default GM8.1 data header");
[INFO] [stdout]    |     ------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 |                     log!(logger, "Found GM8.0 antidec2 loading sequence, decrypting with these settings:");
[INFO] [stdout]    |                     -------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 log!(logger, "Found GM8.1 antidec2 loading sequence, decrypting with these settings:");
[INFO] [stdout]    |                 -------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata.rs:65:25
[INFO] [stdout]    |
[INFO] [stdout] 65 |                         log!(logger, "Didn't find GM81 magic value (0xF7140017) before EOF, so giving up");
[INFO] [stdout]    |                         ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata.rs:80:21
[INFO] [stdout]    |
[INFO] [stdout] 80 |                     log!(logger, "Found GM8.0 antidec2 loading sequence [no UPX], decrypting with these settings:");
[INFO] [stdout]    |                     ----------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]    |
[INFO] [stdout]  4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]  7 |             logger($x.into());
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: gm8exe/src/gamedata.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |                     log!(logger, "Found GM8.1 antidec2 loading sequence [no UPX], decrypting with these settings:");
[INFO] [stdout]    |                     ----------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]     |
[INFO] [stdout]   4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]   7 |             logger($x.into());
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: gm8exe/src/gamedata.rs:105:25
[INFO] [stdout]     |
[INFO] [stdout] 105 |                         log!(logger, "Didn't find GM81 magic value (0xF7140017) before EOF, so giving up");
[INFO] [stdout]     |                         ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]     |
[INFO] [stdout]   4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]   7 |             logger($x.into());
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: gm8exe/src/reader.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |     log!(logger, "Reading settings chunk...");
[INFO] [stdout]     |     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> gm8exe/src/lib.rs:7:20
[INFO] [stdout]     |
[INFO] [stdout]   4 | macro_rules! log {
[INFO] [stdout] ...
[INFO] [stdout]   7 |             logger($x.into());
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: gm8exe/src/reader.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         log!(logger, " + Loaded settings structure");
[INFO] [stdout]     |         -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `gm8exe` (lib test) due to 18 previous errors
[INFO] running `Command { std: "docker" "inspect" "bc0804a0317373f0c0c9d5148b66097ac64805a9d7703f1c27556661f1cfd8a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bc0804a0317373f0c0c9d5148b66097ac64805a9d7703f1c27556661f1cfd8a9", kill_on_drop: false }`
[INFO] [stdout] bc0804a0317373f0c0c9d5148b66097ac64805a9d7703f1c27556661f1cfd8a9
