[INFO] fetching crate registry-pol 1.0.0...
[INFO] testing registry-pol-1.0.0 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate registry-pol 1.0.0 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate registry-pol 1.0.0
[INFO] finished tweaking crates.io crate registry-pol 1.0.0
[INFO] tweaked toml for crates.io crate registry-pol 1.0.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate registry-pol 1.0.0 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 28 packages to highest compatible versions
[INFO] [stderr]       Adding nom v3.2.1 (available: v8.0.0)
[INFO] [stderr]       Adding quickcheck v0.6.2 (available: v1.1.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `registry-pol` (manifest) generated 1 warning
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded humantime v1.3.0
[INFO] [stderr]   Downloaded quick-error v1.2.3
[INFO] [stderr]   Downloaded quickcheck v0.6.2
[INFO] [stderr]   Downloaded env_logger v0.5.13
[INFO] [stderr]   Downloaded rand v0.4.6
[INFO] [stderr]   Downloaded memchr v1.0.2
[INFO] [stderr]   Downloaded nom v3.2.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 99627aad350d2c9d5a8ad1fbece0f94ea8e4f54efe38a0a431d73fd09451f5d3
[INFO] running `Command { std: "docker" "start" "99627aad350d2c9d5a8ad1fbece0f94ea8e4f54efe38a0a431d73fd09451f5d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "99627aad350d2c9d5a8ad1fbece0f94ea8e4f54efe38a0a431d73fd09451f5d3", 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" "99627aad350d2c9d5a8ad1fbece0f94ea8e4f54efe38a0a431d73fd09451f5d3" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "99627aad350d2c9d5a8ad1fbece0f94ea8e4f54efe38a0a431d73fd09451f5d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "99627aad350d2c9d5a8ad1fbece0f94ea8e4f54efe38a0a431d73fd09451f5d3" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `registry-pol` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.190
[INFO] [stderr]    Compiling lazy_static v1.5.1
[INFO] [stderr]    Compiling memchr v1.0.2
[INFO] [stderr]    Compiling nom v3.2.1
[INFO] [stderr]    Compiling registry-pol v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     named!(utf16_bytes<(Vec<u16>, &[u8])>, many_till!(le_u16, utf16_nul));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `many_till`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `many_till` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | / named!(data_type<Option<RegistryValueType>>, do_parse!(
[INFO] [stdout] 49 | |     tp: le_u32 >>
[INFO] [stdout] 50 | |     (RegistryValueType::parse(tp))
[INFO] [stdout] 51 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / named!(value<RegistryValue>, do_parse!(
[INFO] [stdout] 62 | |     key: nul_terminated_utf16 >>
[INFO] [stdout] 63 | |     tag!(UTF16_LE_SEMICOLON) >>
[INFO] [stdout] 64 | |     value: nul_terminated_utf16 >>
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |     })
[INFO] [stdout] 77 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / named!(value<RegistryValue>, do_parse!(
[INFO] [stdout] 62 | |     key: nul_terminated_utf16 >>
[INFO] [stdout] 63 | |     tag!(UTF16_LE_SEMICOLON) >>
[INFO] [stdout] 64 | |     value: nul_terminated_utf16 >>
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |     })
[INFO] [stdout] 77 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / named!(value<RegistryValue>, do_parse!(
[INFO] [stdout] 62 | |     key: nul_terminated_utf16 >>
[INFO] [stdout] 63 | |     tag!(UTF16_LE_SEMICOLON) >>
[INFO] [stdout] 64 | |     value: nul_terminated_utf16 >>
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |     })
[INFO] [stdout] 77 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / named!(value<RegistryValue>, do_parse!(
[INFO] [stdout] 62 | |     key: nul_terminated_utf16 >>
[INFO] [stdout] 63 | |     tag!(UTF16_LE_SEMICOLON) >>
[INFO] [stdout] 64 | |     value: nul_terminated_utf16 >>
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |     })
[INFO] [stdout] 77 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | / named!(pub parse<Vec<RegistryValue>>,
[INFO] [stdout] 81 | |   do_parse!(
[INFO] [stdout] 82 | |     header >>
[INFO] [stdout] 83 | |     values: many0!(delimited!(tag!(UTF16_LE_OPEN_SQUARE_BRACKET), value, tag!(UTF16_LE_CLOSE_SQUARE_BRACKET))) >>
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | / named!(pub parse<Vec<RegistryValue>>,
[INFO] [stdout] 81 | |   do_parse!(
[INFO] [stdout] 82 | |     header >>
[INFO] [stdout] 83 | |     values: many0!(delimited!(tag!(UTF16_LE_OPEN_SQUARE_BRACKET), value, tag!(UTF16_LE_CLOSE_SQUARE_BRACKET))) >>
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `tuple_parser`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `tuple_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/v1/parser.rs:17:57
[INFO] [stdout]    |
[INFO] [stdout] 17 |     static ref REGFILE_SIGNATURE_LE: [u8; 4] = unsafe { transmute(REGFILE_SIGNATURE.to_le()) };
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 17 -     static ref REGFILE_SIGNATURE_LE: [u8; 4] = unsafe { transmute(REGFILE_SIGNATURE.to_le()) };
[INFO] [stdout] 17 +     static ref REGFILE_SIGNATURE_LE: [u8; 4] = unsafe { u32::to_ne_bytes(REGFILE_SIGNATURE.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/v1/parser.rs:18:61
[INFO] [stdout]    |
[INFO] [stdout] 18 |     static ref REGISTRY_FILE_VERSION_LE: [u8; 4] = unsafe { transmute(REGISTRY_FILE_VERSION.to_le()) };
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 18 -     static ref REGISTRY_FILE_VERSION_LE: [u8; 4] = unsafe { transmute(REGISTRY_FILE_VERSION.to_le()) };
[INFO] [stdout] 18 +     static ref REGISTRY_FILE_VERSION_LE: [u8; 4] = unsafe { u32::to_ne_bytes(REGISTRY_FILE_VERSION.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/v1/parser.rs:30:35
[INFO] [stdout]    |
[INFO] [stdout] 30 |     named!(utf16_bytes<(Vec<u16>, &[u8])>, many_till!(le_u16, utf16_nul));
[INFO] [stdout]    |     ------------------------------^^^^^----------------------------------
[INFO] [stdout]    |     |                             |
[INFO] [stdout]    |     |                             the same lifetime is elided here
[INFO] [stdout]    |     the lifetime is named here
[INFO] [stdout]    |     the same lifetime is named 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: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     named!(utf16_bytes<(Vec<u16>, &'a [u8])>, many_till!(le_u16, utf16_nul));
[INFO] [stdout]    |                                    ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.87s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "99627aad350d2c9d5a8ad1fbece0f94ea8e4f54efe38a0a431d73fd09451f5d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "99627aad350d2c9d5a8ad1fbece0f94ea8e4f54efe38a0a431d73fd09451f5d3" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `registry-pol` (manifest) generated 1 warning
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling log v0.4.34
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     named!(utf16_bytes<(Vec<u16>, &[u8])>, many_till!(le_u16, utf16_nul));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `many_till`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `many_till` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | / named!(data_type<Option<RegistryValueType>>, do_parse!(
[INFO] [stdout] 49 | |     tp: le_u32 >>
[INFO] [stdout] 50 | |     (RegistryValueType::parse(tp))
[INFO] [stdout] 51 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / named!(value<RegistryValue>, do_parse!(
[INFO] [stdout] 62 | |     key: nul_terminated_utf16 >>
[INFO] [stdout] 63 | |     tag!(UTF16_LE_SEMICOLON) >>
[INFO] [stdout] 64 | |     value: nul_terminated_utf16 >>
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |     })
[INFO] [stdout] 77 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / named!(value<RegistryValue>, do_parse!(
[INFO] [stdout] 62 | |     key: nul_terminated_utf16 >>
[INFO] [stdout] 63 | |     tag!(UTF16_LE_SEMICOLON) >>
[INFO] [stdout] 64 | |     value: nul_terminated_utf16 >>
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |     })
[INFO] [stdout] 77 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / named!(value<RegistryValue>, do_parse!(
[INFO] [stdout] 62 | |     key: nul_terminated_utf16 >>
[INFO] [stdout] 63 | |     tag!(UTF16_LE_SEMICOLON) >>
[INFO] [stdout] 64 | |     value: nul_terminated_utf16 >>
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |     })
[INFO] [stdout] 77 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / named!(value<RegistryValue>, do_parse!(
[INFO] [stdout] 62 | |     key: nul_terminated_utf16 >>
[INFO] [stdout] 63 | |     tag!(UTF16_LE_SEMICOLON) >>
[INFO] [stdout] 64 | |     value: nul_terminated_utf16 >>
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |     })
[INFO] [stdout] 77 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | / named!(pub parse<Vec<RegistryValue>>,
[INFO] [stdout] 81 | |   do_parse!(
[INFO] [stdout] 82 | |     header >>
[INFO] [stdout] 83 | |     values: many0!(delimited!(tag!(UTF16_LE_OPEN_SQUARE_BRACKET), value, tag!(UTF16_LE_CLOSE_SQUARE_BRACKET))) >>
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | / named!(pub parse<Vec<RegistryValue>>,
[INFO] [stdout] 81 | |   do_parse!(
[INFO] [stdout] 82 | |     header >>
[INFO] [stdout] 83 | |     values: many0!(delimited!(tag!(UTF16_LE_OPEN_SQUARE_BRACKET), value, tag!(UTF16_LE_CLOSE_SQUARE_BRACKET))) >>
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `tuple_parser`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `tuple_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/v1/parser.rs:17:57
[INFO] [stdout]    |
[INFO] [stdout] 17 |     static ref REGFILE_SIGNATURE_LE: [u8; 4] = unsafe { transmute(REGFILE_SIGNATURE.to_le()) };
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 17 -     static ref REGFILE_SIGNATURE_LE: [u8; 4] = unsafe { transmute(REGFILE_SIGNATURE.to_le()) };
[INFO] [stdout] 17 +     static ref REGFILE_SIGNATURE_LE: [u8; 4] = unsafe { u32::to_ne_bytes(REGFILE_SIGNATURE.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/v1/parser.rs:18:61
[INFO] [stdout]    |
[INFO] [stdout] 18 |     static ref REGISTRY_FILE_VERSION_LE: [u8; 4] = unsafe { transmute(REGISTRY_FILE_VERSION.to_le()) };
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 18 -     static ref REGISTRY_FILE_VERSION_LE: [u8; 4] = unsafe { transmute(REGISTRY_FILE_VERSION.to_le()) };
[INFO] [stdout] 18 +     static ref REGISTRY_FILE_VERSION_LE: [u8; 4] = unsafe { u32::to_ne_bytes(REGISTRY_FILE_VERSION.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/v1/parser.rs:30:35
[INFO] [stdout]    |
[INFO] [stdout] 30 |     named!(utf16_bytes<(Vec<u16>, &[u8])>, many_till!(le_u16, utf16_nul));
[INFO] [stdout]    |     ------------------------------^^^^^----------------------------------
[INFO] [stdout]    |     |                             |
[INFO] [stdout]    |     |                             the same lifetime is elided here
[INFO] [stdout]    |     the lifetime is named here
[INFO] [stdout]    |     the same lifetime is named 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: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     named!(utf16_bytes<(Vec<u16>, &'a [u8])>, many_till!(le_u16, utf16_nul));
[INFO] [stdout]    |                                    ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling humantime v1.3.0
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling env_logger v0.5.13
[INFO] [stderr]    Compiling quickcheck v0.6.2
[INFO] [stderr]    Compiling registry-pol v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     named!(utf16_bytes<(Vec<u16>, &[u8])>, many_till!(le_u16, utf16_nul));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `many_till`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `many_till` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | / named!(data_type<Option<RegistryValueType>>, do_parse!(
[INFO] [stdout] 49 | |     tp: le_u32 >>
[INFO] [stdout] 50 | |     (RegistryValueType::parse(tp))
[INFO] [stdout] 51 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / named!(value<RegistryValue>, do_parse!(
[INFO] [stdout] 62 | |     key: nul_terminated_utf16 >>
[INFO] [stdout] 63 | |     tag!(UTF16_LE_SEMICOLON) >>
[INFO] [stdout] 64 | |     value: nul_terminated_utf16 >>
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |     })
[INFO] [stdout] 77 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / named!(value<RegistryValue>, do_parse!(
[INFO] [stdout] 62 | |     key: nul_terminated_utf16 >>
[INFO] [stdout] 63 | |     tag!(UTF16_LE_SEMICOLON) >>
[INFO] [stdout] 64 | |     value: nul_terminated_utf16 >>
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |     })
[INFO] [stdout] 77 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / named!(value<RegistryValue>, do_parse!(
[INFO] [stdout] 62 | |     key: nul_terminated_utf16 >>
[INFO] [stdout] 63 | |     tag!(UTF16_LE_SEMICOLON) >>
[INFO] [stdout] 64 | |     value: nul_terminated_utf16 >>
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |     })
[INFO] [stdout] 77 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / named!(value<RegistryValue>, do_parse!(
[INFO] [stdout] 62 | |     key: nul_terminated_utf16 >>
[INFO] [stdout] 63 | |     tag!(UTF16_LE_SEMICOLON) >>
[INFO] [stdout] 64 | |     value: nul_terminated_utf16 >>
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |     })
[INFO] [stdout] 77 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | / named!(pub parse<Vec<RegistryValue>>,
[INFO] [stdout] 81 | |   do_parse!(
[INFO] [stdout] 82 | |     header >>
[INFO] [stdout] 83 | |     values: many0!(delimited!(tag!(UTF16_LE_OPEN_SQUARE_BRACKET), value, tag!(UTF16_LE_CLOSE_SQUARE_BRACKET))) >>
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/v1/parser.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | / named!(pub parse<Vec<RegistryValue>>,
[INFO] [stdout] 81 | |   do_parse!(
[INFO] [stdout] 82 | |     header >>
[INFO] [stdout] 83 | |     values: many0!(delimited!(tag!(UTF16_LE_OPEN_SQUARE_BRACKET), value, tag!(UTF16_LE_CLOSE_SQUARE_BRACKET))) >>
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `tuple_parser`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `tuple_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/v1/parser.rs:17:57
[INFO] [stdout]    |
[INFO] [stdout] 17 |     static ref REGFILE_SIGNATURE_LE: [u8; 4] = unsafe { transmute(REGFILE_SIGNATURE.to_le()) };
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 17 -     static ref REGFILE_SIGNATURE_LE: [u8; 4] = unsafe { transmute(REGFILE_SIGNATURE.to_le()) };
[INFO] [stdout] 17 +     static ref REGFILE_SIGNATURE_LE: [u8; 4] = unsafe { u32::to_ne_bytes(REGFILE_SIGNATURE.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/v1/parser.rs:18:61
[INFO] [stdout]    |
[INFO] [stdout] 18 |     static ref REGISTRY_FILE_VERSION_LE: [u8; 4] = unsafe { transmute(REGISTRY_FILE_VERSION.to_le()) };
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 18 -     static ref REGISTRY_FILE_VERSION_LE: [u8; 4] = unsafe { transmute(REGISTRY_FILE_VERSION.to_le()) };
[INFO] [stdout] 18 +     static ref REGISTRY_FILE_VERSION_LE: [u8; 4] = unsafe { u32::to_ne_bytes(REGISTRY_FILE_VERSION.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/v1/parser.rs:30:35
[INFO] [stdout]    |
[INFO] [stdout] 30 |     named!(utf16_bytes<(Vec<u16>, &[u8])>, many_till!(le_u16, utf16_nul));
[INFO] [stdout]    |     ------------------------------^^^^^----------------------------------
[INFO] [stdout]    |     |                             |
[INFO] [stdout]    |     |                             the same lifetime is elided here
[INFO] [stdout]    |     the lifetime is named here
[INFO] [stdout]    |     the same lifetime is named 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: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     named!(utf16_bytes<(Vec<u16>, &'a [u8])>, many_till!(le_u16, utf16_nul));
[INFO] [stdout]    |                                    ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 9.48s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "99627aad350d2c9d5a8ad1fbece0f94ea8e4f54efe38a0a431d73fd09451f5d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "99627aad350d2c9d5a8ad1fbece0f94ea8e4f54efe38a0a431d73fd09451f5d3" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `registry-pol` (manifest) generated 1 warning
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]   --> src/v1/parser.rs:30:5
[INFO] [stderr]    |
[INFO] [stderr] 30 |     named!(utf16_bytes<(Vec<u16>, &[u8])>, many_till!(le_u16, utf16_nul));
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `many_till`
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]    = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stderr]    = note: this warning originates in the macro `many_till` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stdout] 
[INFO] [stderr]   --> src/v1/parser.rs:48:1
[INFO] [stdout] running 0 tests
[INFO] [stderr]    |
[INFO] [stdout] 
[INFO] [stderr] 48 | / named!(data_type<Option<RegistryValueType>>, do_parse!(
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr] 49 | |     tp: le_u32 >>
[INFO] [stdout] 
[INFO] [stderr] 50 | |     (RegistryValueType::parse(tp))
[INFO] [stderr] 51 | | ));
[INFO] [stderr]    | |__^
[INFO] [stderr]    |
[INFO] [stderr]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]   --> src/v1/parser.rs:61:1
[INFO] [stderr]    |
[INFO] [stderr] 61 | / named!(value<RegistryValue>, do_parse!(
[INFO] [stderr] 62 | |     key: nul_terminated_utf16 >>
[INFO] [stderr] 63 | |     tag!(UTF16_LE_SEMICOLON) >>
[INFO] [stderr] 64 | |     value: nul_terminated_utf16 >>
[INFO] [stderr] ...  |
[INFO] [stderr] 76 | |     })
[INFO] [stderr] 77 | | ));
[INFO] [stderr]    | |__^
[INFO] [stderr]    |
[INFO] [stderr]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]   --> src/v1/parser.rs:80:1
[INFO] [stderr]    |
[INFO] [stderr] 80 | / named!(pub parse<Vec<RegistryValue>>,
[INFO] [stderr] 81 | |   do_parse!(
[INFO] [stderr] 82 | |     header >>
[INFO] [stderr] 83 | |     values: many0!(delimited!(tag!(UTF16_LE_OPEN_SQUARE_BRACKET), value, tag!(UTF16_LE_CLOSE_SQUARE_BRACKET))) >>
[INFO] [stderr] ...  |
[INFO] [stderr] 86 | | );
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]   --> src/v1/parser.rs:80:1
[INFO] [stderr]    |
[INFO] [stderr] 80 | / named!(pub parse<Vec<RegistryValue>>,
[INFO] [stderr] 81 | |   do_parse!(
[INFO] [stderr] 82 | |     header >>
[INFO] [stderr] 83 | |     values: many0!(delimited!(tag!(UTF16_LE_OPEN_SQUARE_BRACKET), value, tag!(UTF16_LE_CLOSE_SQUARE_BRACKET))) >>
[INFO] [stderr] ...  |
[INFO] [stderr] 86 | | );
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `tuple_parser`
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]    = note: this warning originates in the macro `tuple_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]   --> src/v1/parser.rs:17:57
[INFO] [stderr]    |
[INFO] [stderr] 17 |     static ref REGFILE_SIGNATURE_LE: [u8; 4] = unsafe { transmute(REGFILE_SIGNATURE.to_le()) };
[INFO] [stderr]    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stderr]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stderr] help: replace this with
[INFO] [stderr]    |
[INFO] [stderr] 17 -     static ref REGFILE_SIGNATURE_LE: [u8; 4] = unsafe { transmute(REGFILE_SIGNATURE.to_le()) };
[INFO] [stderr] 17 +     static ref REGFILE_SIGNATURE_LE: [u8; 4] = unsafe { u32::to_ne_bytes(REGFILE_SIGNATURE.to_le()) };
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]   --> src/v1/parser.rs:18:61
[INFO] [stderr]    |
[INFO] [stderr] 18 |     static ref REGISTRY_FILE_VERSION_LE: [u8; 4] = unsafe { transmute(REGISTRY_FILE_VERSION.to_le()) };
[INFO] [stderr]    |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stderr] help: replace this with
[INFO] [stderr]    |
[INFO] [stderr] 18 -     static ref REGISTRY_FILE_VERSION_LE: [u8; 4] = unsafe { transmute(REGISTRY_FILE_VERSION.to_le()) };
[INFO] [stderr] 18 +     static ref REGISTRY_FILE_VERSION_LE: [u8; 4] = unsafe { u32::to_ne_bytes(REGISTRY_FILE_VERSION.to_le()) };
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]   --> src/v1/parser.rs:30:35
[INFO] [stderr]    |
[INFO] [stderr] 30 |     named!(utf16_bytes<(Vec<u16>, &[u8])>, many_till!(le_u16, utf16_nul));
[INFO] [stderr]    |     ------------------------------^^^^^----------------------------------
[INFO] [stderr]    |     |                             |
[INFO] [stderr]    |     |                             the same lifetime is elided here
[INFO] [stderr]    |     the lifetime is named here
[INFO] [stderr]    |     the same lifetime is named here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]    |
[INFO] [stderr] 30 |     named!(utf16_bytes<(Vec<u16>, &'a [u8])>, many_till!(le_u16, utf16_nul));
[INFO] [stderr]    |                                    ++
[INFO] [stderr] 
[INFO] [stderr] warning: `registry-pol` (lib) generated 11 warnings (3 duplicates) (run `cargo fix --lib -p registry-pol` to apply 3 suggestions)
[INFO] [stderr] warning: `registry-pol` (lib test) generated 11 warnings (11 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/registry_pol-b97fb42eea7f53aa)
[INFO] [stderr]      Running tests/lib.rs (/opt/rustwide/target/debug/deps/lib-8eb3d1b49d4da350)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test v1::parse::empty ... ok
[INFO] [stdout] test v1::parse::machine ... ok
[INFO] [stdout] test v1::parse::random ... ok
[INFO] [stdout] test v1::registry_value_type::parse::reg_expand_sz ... ok
[INFO] [stdout] test v1::registry_value_type::parse::reg_dword ... ok
[INFO] [stdout] test v1::registry_value_type::parse::reg_multi_sz ... ok
[INFO] [stdout] test v1::registry_value_type::parse::reg_qword ... ok
[INFO] [stdout] test v1::registry_value_type::reg_qword_little_endian ... ok
[INFO] [stdout] test v1::registry_value_type::parse::reg_link ... ok
[INFO] [stdout] test v1::registry_value_type::parse::reg_dword_alt ... ok
[INFO] [stdout] test v1::registry_value_type::reg_dword_little_endian ... ok
[INFO] [stdout] test v1::registry_value_type::parse::reg_sz ... ok
[INFO] [stderr]    Doc-tests registry_pol
[INFO] [stdout] test v1::parse::user ... ok
[INFO] [stdout] test v1::registry_value_type::parse::reg_binary ... ok
[INFO] [stdout] test v1::registry_value_type::parse::reg_none ... ok
[INFO] [stdout] test v1::registry_value_type::parse::invalid ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/v1/mod.rs - v1::RegistryValueType::parse (line 39) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "99627aad350d2c9d5a8ad1fbece0f94ea8e4f54efe38a0a431d73fd09451f5d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "99627aad350d2c9d5a8ad1fbece0f94ea8e4f54efe38a0a431d73fd09451f5d3", kill_on_drop: false }`
[INFO] [stdout] 99627aad350d2c9d5a8ad1fbece0f94ea8e4f54efe38a0a431d73fd09451f5d3
