[INFO] fetching crate simple_parse 0.6.3...
[INFO] testing simple_parse-0.6.3 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate simple_parse 0.6.3 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate simple_parse 0.6.3
[INFO] finished tweaking crates.io crate simple_parse 0.6.3
[INFO] tweaked toml for crates.io crate simple_parse 0.6.3 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate simple_parse 0.6.3 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate simple_parse 0.6.3 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 383b394b13b409e909c806f802bd5e5477c8307e2d71601c6f7ba11d98fec403
[INFO] running `Command { std: "docker" "start" "383b394b13b409e909c806f802bd5e5477c8307e2d71601c6f7ba11d98fec403", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "383b394b13b409e909c806f802bd5e5477c8307e2d71601c6f7ba11d98fec403", 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" "383b394b13b409e909c806f802bd5e5477c8307e2d71601c6f7ba11d98fec403" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "383b394b13b409e909c806f802bd5e5477c8307e2d71601c6f7ba11d98fec403", 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" "383b394b13b409e909c806f802bd5e5477c8307e2d71601c6f7ba11d98fec403" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.64
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling darling_core v0.12.2
[INFO] [stderr]    Compiling darling_macro v0.12.2
[INFO] [stderr]    Compiling darling v0.12.2
[INFO] [stderr]    Compiling simple_parse_derive v0.6.3
[INFO] [stderr]    Compiling simple_parse v0.6.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `opt_hints::*`
[INFO] [stdout]    --> src/default_impls/mod.rs:387:9
[INFO] [stdout]     |
[INFO] [stdout] 387 | pub use opt_hints::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `raw::*`
[INFO] [stdout]    --> src/default_impls/mod.rs:390:9
[INFO] [stdout]     |
[INFO] [stdout] 390 | pub use raw::*;
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reader::*`
[INFO] [stdout]    --> src/default_impls/mod.rs:393:9
[INFO] [stdout]     |
[INFO] [stdout] 393 | pub use reader::*;
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `writer::*`
[INFO] [stdout]    --> src/default_impls/mod.rs:396:9
[INFO] [stdout]     |
[INFO] [stdout] 396 | pub use writer::*;
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `default_impls::*`
[INFO] [stdout]   --> src/lib.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use default_impls::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]  --> src/default_impls/mod.rs:3:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use]
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the `macro_use` attribute can be applied to extern crates and modules
[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: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]   --> src/default_impls/mod.rs:57:3
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[macro_use]
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]   --> src/default_impls/mod.rs:97:3
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[macro_use]
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:138:3
[INFO] [stdout]     |
[INFO] [stdout] 138 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:153:3
[INFO] [stdout]     |
[INFO] [stdout] 153 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:189:3
[INFO] [stdout]     |
[INFO] [stdout] 189 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:213:3
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:244:3
[INFO] [stdout]     |
[INFO] [stdout] 244 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:284:3
[INFO] [stdout]     |
[INFO] [stdout] 284 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:319:3
[INFO] [stdout]     |
[INFO] [stdout] 319 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:331:3
[INFO] [stdout]     |
[INFO] [stdout] 331 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:344:3
[INFO] [stdout]     |
[INFO] [stdout] 344 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:357:3
[INFO] [stdout]     |
[INFO] [stdout] 357 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:372:3
[INFO] [stdout]     |
[INFO] [stdout] 372 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:378:3
[INFO] [stdout]     |
[INFO] [stdout] 378 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/raw.rs:317:3
[INFO] [stdout]     |
[INFO] [stdout] 317 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/reader.rs:120:3
[INFO] [stdout]     |
[INFO] [stdout] 120 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 147 | / impl_primitive!(
[INFO] [stdout] 148 | |     NonZeroU8 as u8,
[INFO] [stdout] 149 | |     nonzero_from_ptr,
[INFO] [stdout] 150 | |     nonzeroref_from_ptr,
[INFO] [stdout] 151 | |     nonzeroslice_from_ptr
[INFO] [stdout] 152 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]     = note: `#[warn(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 147 | / impl_primitive!(
[INFO] [stdout] 148 | |     NonZeroU8 as u8,
[INFO] [stdout] 149 | |     nonzero_from_ptr,
[INFO] [stdout] 150 | |     nonzeroref_from_ptr,
[INFO] [stdout] 151 | |     nonzeroslice_from_ptr
[INFO] [stdout] 152 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 147 | / impl_primitive!(
[INFO] [stdout] 148 | |     NonZeroU8 as u8,
[INFO] [stdout] 149 | |     nonzero_from_ptr,
[INFO] [stdout] 150 | |     nonzeroref_from_ptr,
[INFO] [stdout] 151 | |     nonzeroslice_from_ptr
[INFO] [stdout] 152 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 153 | / impl_primitive!(
[INFO] [stdout] 154 | |     NonZeroU16 as u16,
[INFO] [stdout] 155 | |     nonzero_from_ptr,
[INFO] [stdout] 156 | |     nonzeroref_from_ptr,
[INFO] [stdout] 157 | |     nonzeroslice_from_ptr
[INFO] [stdout] 158 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 153 | / impl_primitive!(
[INFO] [stdout] 154 | |     NonZeroU16 as u16,
[INFO] [stdout] 155 | |     nonzero_from_ptr,
[INFO] [stdout] 156 | |     nonzeroref_from_ptr,
[INFO] [stdout] 157 | |     nonzeroslice_from_ptr
[INFO] [stdout] 158 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 153 | / impl_primitive!(
[INFO] [stdout] 154 | |     NonZeroU16 as u16,
[INFO] [stdout] 155 | |     nonzero_from_ptr,
[INFO] [stdout] 156 | |     nonzeroref_from_ptr,
[INFO] [stdout] 157 | |     nonzeroslice_from_ptr
[INFO] [stdout] 158 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 159 | / impl_primitive!(
[INFO] [stdout] 160 | |     NonZeroU32 as u32,
[INFO] [stdout] 161 | |     nonzero_from_ptr,
[INFO] [stdout] 162 | |     nonzeroref_from_ptr,
[INFO] [stdout] 163 | |     nonzeroslice_from_ptr
[INFO] [stdout] 164 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 159 | / impl_primitive!(
[INFO] [stdout] 160 | |     NonZeroU32 as u32,
[INFO] [stdout] 161 | |     nonzero_from_ptr,
[INFO] [stdout] 162 | |     nonzeroref_from_ptr,
[INFO] [stdout] 163 | |     nonzeroslice_from_ptr
[INFO] [stdout] 164 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 159 | / impl_primitive!(
[INFO] [stdout] 160 | |     NonZeroU32 as u32,
[INFO] [stdout] 161 | |     nonzero_from_ptr,
[INFO] [stdout] 162 | |     nonzeroref_from_ptr,
[INFO] [stdout] 163 | |     nonzeroslice_from_ptr
[INFO] [stdout] 164 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 165 | / impl_primitive!(
[INFO] [stdout] 166 | |     NonZeroU64 as u64,
[INFO] [stdout] 167 | |     nonzero_from_ptr,
[INFO] [stdout] 168 | |     nonzeroref_from_ptr,
[INFO] [stdout] 169 | |     nonzeroslice_from_ptr
[INFO] [stdout] 170 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 165 | / impl_primitive!(
[INFO] [stdout] 166 | |     NonZeroU64 as u64,
[INFO] [stdout] 167 | |     nonzero_from_ptr,
[INFO] [stdout] 168 | |     nonzeroref_from_ptr,
[INFO] [stdout] 169 | |     nonzeroslice_from_ptr
[INFO] [stdout] 170 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 165 | / impl_primitive!(
[INFO] [stdout] 166 | |     NonZeroU64 as u64,
[INFO] [stdout] 167 | |     nonzero_from_ptr,
[INFO] [stdout] 168 | |     nonzeroref_from_ptr,
[INFO] [stdout] 169 | |     nonzeroslice_from_ptr
[INFO] [stdout] 170 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 171 | / impl_primitive!(
[INFO] [stdout] 172 | |     NonZeroU128 as u128,
[INFO] [stdout] 173 | |     nonzero_from_ptr,
[INFO] [stdout] 174 | |     nonzeroref_from_ptr,
[INFO] [stdout] 175 | |     nonzeroslice_from_ptr
[INFO] [stdout] 176 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 171 | / impl_primitive!(
[INFO] [stdout] 172 | |     NonZeroU128 as u128,
[INFO] [stdout] 173 | |     nonzero_from_ptr,
[INFO] [stdout] 174 | |     nonzeroref_from_ptr,
[INFO] [stdout] 175 | |     nonzeroslice_from_ptr
[INFO] [stdout] 176 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 171 | / impl_primitive!(
[INFO] [stdout] 172 | |     NonZeroU128 as u128,
[INFO] [stdout] 173 | |     nonzero_from_ptr,
[INFO] [stdout] 174 | |     nonzeroref_from_ptr,
[INFO] [stdout] 175 | |     nonzeroslice_from_ptr
[INFO] [stdout] 176 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 177 | / impl_primitive!(
[INFO] [stdout] 178 | |     NonZeroUsize as usize,
[INFO] [stdout] 179 | |     nonzero_from_ptr,
[INFO] [stdout] 180 | |     nonzeroref_from_ptr,
[INFO] [stdout] 181 | |     nonzeroslice_from_ptr
[INFO] [stdout] 182 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 177 | / impl_primitive!(
[INFO] [stdout] 178 | |     NonZeroUsize as usize,
[INFO] [stdout] 179 | |     nonzero_from_ptr,
[INFO] [stdout] 180 | |     nonzeroref_from_ptr,
[INFO] [stdout] 181 | |     nonzeroslice_from_ptr
[INFO] [stdout] 182 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 177 | / impl_primitive!(
[INFO] [stdout] 178 | |     NonZeroUsize as usize,
[INFO] [stdout] 179 | |     nonzero_from_ptr,
[INFO] [stdout] 180 | |     nonzeroref_from_ptr,
[INFO] [stdout] 181 | |     nonzeroslice_from_ptr
[INFO] [stdout] 182 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 183 | / impl_primitive!(
[INFO] [stdout] 184 | |     NonZeroI8 as i8,
[INFO] [stdout] 185 | |     nonzero_from_ptr,
[INFO] [stdout] 186 | |     nonzeroref_from_ptr,
[INFO] [stdout] 187 | |     nonzeroslice_from_ptr
[INFO] [stdout] 188 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 183 | / impl_primitive!(
[INFO] [stdout] 184 | |     NonZeroI8 as i8,
[INFO] [stdout] 185 | |     nonzero_from_ptr,
[INFO] [stdout] 186 | |     nonzeroref_from_ptr,
[INFO] [stdout] 187 | |     nonzeroslice_from_ptr
[INFO] [stdout] 188 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 183 | / impl_primitive!(
[INFO] [stdout] 184 | |     NonZeroI8 as i8,
[INFO] [stdout] 185 | |     nonzero_from_ptr,
[INFO] [stdout] 186 | |     nonzeroref_from_ptr,
[INFO] [stdout] 187 | |     nonzeroslice_from_ptr
[INFO] [stdout] 188 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 189 | / impl_primitive!(
[INFO] [stdout] 190 | |     NonZeroI16 as i16,
[INFO] [stdout] 191 | |     nonzero_from_ptr,
[INFO] [stdout] 192 | |     nonzeroref_from_ptr,
[INFO] [stdout] 193 | |     nonzeroslice_from_ptr
[INFO] [stdout] 194 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 189 | / impl_primitive!(
[INFO] [stdout] 190 | |     NonZeroI16 as i16,
[INFO] [stdout] 191 | |     nonzero_from_ptr,
[INFO] [stdout] 192 | |     nonzeroref_from_ptr,
[INFO] [stdout] 193 | |     nonzeroslice_from_ptr
[INFO] [stdout] 194 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 189 | / impl_primitive!(
[INFO] [stdout] 190 | |     NonZeroI16 as i16,
[INFO] [stdout] 191 | |     nonzero_from_ptr,
[INFO] [stdout] 192 | |     nonzeroref_from_ptr,
[INFO] [stdout] 193 | |     nonzeroslice_from_ptr
[INFO] [stdout] 194 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 195 | / impl_primitive!(
[INFO] [stdout] 196 | |     NonZeroI32 as i32,
[INFO] [stdout] 197 | |     nonzero_from_ptr,
[INFO] [stdout] 198 | |     nonzeroref_from_ptr,
[INFO] [stdout] 199 | |     nonzeroslice_from_ptr
[INFO] [stdout] 200 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 195 | / impl_primitive!(
[INFO] [stdout] 196 | |     NonZeroI32 as i32,
[INFO] [stdout] 197 | |     nonzero_from_ptr,
[INFO] [stdout] 198 | |     nonzeroref_from_ptr,
[INFO] [stdout] 199 | |     nonzeroslice_from_ptr
[INFO] [stdout] 200 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 195 | / impl_primitive!(
[INFO] [stdout] 196 | |     NonZeroI32 as i32,
[INFO] [stdout] 197 | |     nonzero_from_ptr,
[INFO] [stdout] 198 | |     nonzeroref_from_ptr,
[INFO] [stdout] 199 | |     nonzeroslice_from_ptr
[INFO] [stdout] 200 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 201 | / impl_primitive!(
[INFO] [stdout] 202 | |     NonZeroI64 as i64,
[INFO] [stdout] 203 | |     nonzero_from_ptr,
[INFO] [stdout] 204 | |     nonzeroref_from_ptr,
[INFO] [stdout] 205 | |     nonzeroslice_from_ptr
[INFO] [stdout] 206 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 201 | / impl_primitive!(
[INFO] [stdout] 202 | |     NonZeroI64 as i64,
[INFO] [stdout] 203 | |     nonzero_from_ptr,
[INFO] [stdout] 204 | |     nonzeroref_from_ptr,
[INFO] [stdout] 205 | |     nonzeroslice_from_ptr
[INFO] [stdout] 206 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 201 | / impl_primitive!(
[INFO] [stdout] 202 | |     NonZeroI64 as i64,
[INFO] [stdout] 203 | |     nonzero_from_ptr,
[INFO] [stdout] 204 | |     nonzeroref_from_ptr,
[INFO] [stdout] 205 | |     nonzeroslice_from_ptr
[INFO] [stdout] 206 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 207 | / impl_primitive!(
[INFO] [stdout] 208 | |     NonZeroI128 as i128,
[INFO] [stdout] 209 | |     nonzero_from_ptr,
[INFO] [stdout] 210 | |     nonzeroref_from_ptr,
[INFO] [stdout] 211 | |     nonzeroslice_from_ptr
[INFO] [stdout] 212 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 207 | / impl_primitive!(
[INFO] [stdout] 208 | |     NonZeroI128 as i128,
[INFO] [stdout] 209 | |     nonzero_from_ptr,
[INFO] [stdout] 210 | |     nonzeroref_from_ptr,
[INFO] [stdout] 211 | |     nonzeroslice_from_ptr
[INFO] [stdout] 212 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 207 | / impl_primitive!(
[INFO] [stdout] 208 | |     NonZeroI128 as i128,
[INFO] [stdout] 209 | |     nonzero_from_ptr,
[INFO] [stdout] 210 | |     nonzeroref_from_ptr,
[INFO] [stdout] 211 | |     nonzeroslice_from_ptr
[INFO] [stdout] 212 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 213 | / impl_primitive!(
[INFO] [stdout] 214 | |     NonZeroIsize as isize,
[INFO] [stdout] 215 | |     nonzero_from_ptr,
[INFO] [stdout] 216 | |     nonzeroref_from_ptr,
[INFO] [stdout] 217 | |     nonzeroslice_from_ptr
[INFO] [stdout] 218 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 213 | / impl_primitive!(
[INFO] [stdout] 214 | |     NonZeroIsize as isize,
[INFO] [stdout] 215 | |     nonzero_from_ptr,
[INFO] [stdout] 216 | |     nonzeroref_from_ptr,
[INFO] [stdout] 217 | |     nonzeroslice_from_ptr
[INFO] [stdout] 218 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 213 | / impl_primitive!(
[INFO] [stdout] 214 | |     NonZeroIsize as isize,
[INFO] [stdout] 215 | |     nonzero_from_ptr,
[INFO] [stdout] 216 | |     nonzeroref_from_ptr,
[INFO] [stdout] 217 | |     nonzeroslice_from_ptr
[INFO] [stdout] 218 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 10.78s
[INFO] running `Command { std: "docker" "inspect" "383b394b13b409e909c806f802bd5e5477c8307e2d71601c6f7ba11d98fec403", 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" "383b394b13b409e909c806f802bd5e5477c8307e2d71601c6f7ba11d98fec403" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.89
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling regex-syntax v0.6.23
[INFO] [stderr]    Compiling unicode-width v0.1.8
[INFO] [stderr]    Compiling termcolor v1.1.2
[INFO] [stderr]    Compiling ansi_term v0.11.0
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stdout] warning: unused import: `opt_hints::*`
[INFO] [stdout]    --> src/default_impls/mod.rs:387:9
[INFO] [stdout]     |
[INFO] [stdout] 387 | pub use opt_hints::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `raw::*`
[INFO] [stdout]    --> src/default_impls/mod.rs:390:9
[INFO] [stdout]     |
[INFO] [stdout] 390 | pub use raw::*;
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reader::*`
[INFO] [stdout]    --> src/default_impls/mod.rs:393:9
[INFO] [stdout]     |
[INFO] [stdout] 393 | pub use reader::*;
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `writer::*`
[INFO] [stdout]    --> src/default_impls/mod.rs:396:9
[INFO] [stdout]     |
[INFO] [stdout] 396 | pub use writer::*;
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `default_impls::*`
[INFO] [stdout]   --> src/lib.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use default_impls::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]  --> src/default_impls/mod.rs:3:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use]
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the `macro_use` attribute can be applied to extern crates and modules
[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: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]   --> src/default_impls/mod.rs:57:3
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[macro_use]
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]   --> src/default_impls/mod.rs:97:3
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[macro_use]
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:138:3
[INFO] [stdout]     |
[INFO] [stdout] 138 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:153:3
[INFO] [stdout]     |
[INFO] [stdout] 153 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:189:3
[INFO] [stdout]     |
[INFO] [stdout] 189 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:213:3
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:244:3
[INFO] [stdout]     |
[INFO] [stdout] 244 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:284:3
[INFO] [stdout]     |
[INFO] [stdout] 284 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:319:3
[INFO] [stdout]     |
[INFO] [stdout] 319 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:331:3
[INFO] [stdout]     |
[INFO] [stdout] 331 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:344:3
[INFO] [stdout]     |
[INFO] [stdout] 344 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:357:3
[INFO] [stdout]     |
[INFO] [stdout] 357 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:372:3
[INFO] [stdout]     |
[INFO] [stdout] 372 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:378:3
[INFO] [stdout]     |
[INFO] [stdout] 378 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/raw.rs:317:3
[INFO] [stdout]     |
[INFO] [stdout] 317 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/reader.rs:120:3
[INFO] [stdout]     |
[INFO] [stdout] 120 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 147 | / impl_primitive!(
[INFO] [stdout] 148 | |     NonZeroU8 as u8,
[INFO] [stdout] 149 | |     nonzero_from_ptr,
[INFO] [stdout] 150 | |     nonzeroref_from_ptr,
[INFO] [stdout] 151 | |     nonzeroslice_from_ptr
[INFO] [stdout] 152 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]     = note: `#[warn(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 147 | / impl_primitive!(
[INFO] [stdout] 148 | |     NonZeroU8 as u8,
[INFO] [stdout] 149 | |     nonzero_from_ptr,
[INFO] [stdout] 150 | |     nonzeroref_from_ptr,
[INFO] [stdout] 151 | |     nonzeroslice_from_ptr
[INFO] [stdout] 152 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 147 | / impl_primitive!(
[INFO] [stdout] 148 | |     NonZeroU8 as u8,
[INFO] [stdout] 149 | |     nonzero_from_ptr,
[INFO] [stdout] 150 | |     nonzeroref_from_ptr,
[INFO] [stdout] 151 | |     nonzeroslice_from_ptr
[INFO] [stdout] 152 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 153 | / impl_primitive!(
[INFO] [stdout] 154 | |     NonZeroU16 as u16,
[INFO] [stdout] 155 | |     nonzero_from_ptr,
[INFO] [stdout] 156 | |     nonzeroref_from_ptr,
[INFO] [stdout] 157 | |     nonzeroslice_from_ptr
[INFO] [stdout] 158 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 153 | / impl_primitive!(
[INFO] [stdout] 154 | |     NonZeroU16 as u16,
[INFO] [stdout] 155 | |     nonzero_from_ptr,
[INFO] [stdout] 156 | |     nonzeroref_from_ptr,
[INFO] [stdout] 157 | |     nonzeroslice_from_ptr
[INFO] [stdout] 158 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 153 | / impl_primitive!(
[INFO] [stdout] 154 | |     NonZeroU16 as u16,
[INFO] [stdout] 155 | |     nonzero_from_ptr,
[INFO] [stdout] 156 | |     nonzeroref_from_ptr,
[INFO] [stdout] 157 | |     nonzeroslice_from_ptr
[INFO] [stdout] 158 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 159 | / impl_primitive!(
[INFO] [stdout] 160 | |     NonZeroU32 as u32,
[INFO] [stdout] 161 | |     nonzero_from_ptr,
[INFO] [stdout] 162 | |     nonzeroref_from_ptr,
[INFO] [stdout] 163 | |     nonzeroslice_from_ptr
[INFO] [stdout] 164 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 159 | / impl_primitive!(
[INFO] [stdout] 160 | |     NonZeroU32 as u32,
[INFO] [stdout] 161 | |     nonzero_from_ptr,
[INFO] [stdout] 162 | |     nonzeroref_from_ptr,
[INFO] [stdout] 163 | |     nonzeroslice_from_ptr
[INFO] [stdout] 164 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 159 | / impl_primitive!(
[INFO] [stdout] 160 | |     NonZeroU32 as u32,
[INFO] [stdout] 161 | |     nonzero_from_ptr,
[INFO] [stdout] 162 | |     nonzeroref_from_ptr,
[INFO] [stdout] 163 | |     nonzeroslice_from_ptr
[INFO] [stdout] 164 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 165 | / impl_primitive!(
[INFO] [stdout] 166 | |     NonZeroU64 as u64,
[INFO] [stdout] 167 | |     nonzero_from_ptr,
[INFO] [stdout] 168 | |     nonzeroref_from_ptr,
[INFO] [stdout] 169 | |     nonzeroslice_from_ptr
[INFO] [stdout] 170 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 165 | / impl_primitive!(
[INFO] [stdout] 166 | |     NonZeroU64 as u64,
[INFO] [stdout] 167 | |     nonzero_from_ptr,
[INFO] [stdout] 168 | |     nonzeroref_from_ptr,
[INFO] [stdout] 169 | |     nonzeroslice_from_ptr
[INFO] [stdout] 170 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 165 | / impl_primitive!(
[INFO] [stdout] 166 | |     NonZeroU64 as u64,
[INFO] [stdout] 167 | |     nonzero_from_ptr,
[INFO] [stdout] 168 | |     nonzeroref_from_ptr,
[INFO] [stdout] 169 | |     nonzeroslice_from_ptr
[INFO] [stdout] 170 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 171 | / impl_primitive!(
[INFO] [stdout] 172 | |     NonZeroU128 as u128,
[INFO] [stdout] 173 | |     nonzero_from_ptr,
[INFO] [stdout] 174 | |     nonzeroref_from_ptr,
[INFO] [stdout] 175 | |     nonzeroslice_from_ptr
[INFO] [stdout] 176 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 171 | / impl_primitive!(
[INFO] [stdout] 172 | |     NonZeroU128 as u128,
[INFO] [stdout] 173 | |     nonzero_from_ptr,
[INFO] [stdout] 174 | |     nonzeroref_from_ptr,
[INFO] [stdout] 175 | |     nonzeroslice_from_ptr
[INFO] [stdout] 176 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 171 | / impl_primitive!(
[INFO] [stdout] 172 | |     NonZeroU128 as u128,
[INFO] [stdout] 173 | |     nonzero_from_ptr,
[INFO] [stdout] 174 | |     nonzeroref_from_ptr,
[INFO] [stdout] 175 | |     nonzeroslice_from_ptr
[INFO] [stdout] 176 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 177 | / impl_primitive!(
[INFO] [stdout] 178 | |     NonZeroUsize as usize,
[INFO] [stdout] 179 | |     nonzero_from_ptr,
[INFO] [stdout] 180 | |     nonzeroref_from_ptr,
[INFO] [stdout] 181 | |     nonzeroslice_from_ptr
[INFO] [stdout] 182 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 177 | / impl_primitive!(
[INFO] [stdout] 178 | |     NonZeroUsize as usize,
[INFO] [stdout] 179 | |     nonzero_from_ptr,
[INFO] [stdout] 180 | |     nonzeroref_from_ptr,
[INFO] [stdout] 181 | |     nonzeroslice_from_ptr
[INFO] [stdout] 182 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 177 | / impl_primitive!(
[INFO] [stdout] 178 | |     NonZeroUsize as usize,
[INFO] [stdout] 179 | |     nonzero_from_ptr,
[INFO] [stdout] 180 | |     nonzeroref_from_ptr,
[INFO] [stdout] 181 | |     nonzeroslice_from_ptr
[INFO] [stdout] 182 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 183 | / impl_primitive!(
[INFO] [stdout] 184 | |     NonZeroI8 as i8,
[INFO] [stdout] 185 | |     nonzero_from_ptr,
[INFO] [stdout] 186 | |     nonzeroref_from_ptr,
[INFO] [stdout] 187 | |     nonzeroslice_from_ptr
[INFO] [stdout] 188 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 183 | / impl_primitive!(
[INFO] [stdout] 184 | |     NonZeroI8 as i8,
[INFO] [stdout] 185 | |     nonzero_from_ptr,
[INFO] [stdout] 186 | |     nonzeroref_from_ptr,
[INFO] [stdout] 187 | |     nonzeroslice_from_ptr
[INFO] [stdout] 188 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 183 | / impl_primitive!(
[INFO] [stdout] 184 | |     NonZeroI8 as i8,
[INFO] [stdout] 185 | |     nonzero_from_ptr,
[INFO] [stdout] 186 | |     nonzeroref_from_ptr,
[INFO] [stdout] 187 | |     nonzeroslice_from_ptr
[INFO] [stdout] 188 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 189 | / impl_primitive!(
[INFO] [stdout] 190 | |     NonZeroI16 as i16,
[INFO] [stdout] 191 | |     nonzero_from_ptr,
[INFO] [stdout] 192 | |     nonzeroref_from_ptr,
[INFO] [stdout] 193 | |     nonzeroslice_from_ptr
[INFO] [stdout] 194 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 189 | / impl_primitive!(
[INFO] [stdout] 190 | |     NonZeroI16 as i16,
[INFO] [stdout] 191 | |     nonzero_from_ptr,
[INFO] [stdout] 192 | |     nonzeroref_from_ptr,
[INFO] [stdout] 193 | |     nonzeroslice_from_ptr
[INFO] [stdout] 194 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 189 | / impl_primitive!(
[INFO] [stdout] 190 | |     NonZeroI16 as i16,
[INFO] [stdout] 191 | |     nonzero_from_ptr,
[INFO] [stdout] 192 | |     nonzeroref_from_ptr,
[INFO] [stdout] 193 | |     nonzeroslice_from_ptr
[INFO] [stdout] 194 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 195 | / impl_primitive!(
[INFO] [stdout] 196 | |     NonZeroI32 as i32,
[INFO] [stdout] 197 | |     nonzero_from_ptr,
[INFO] [stdout] 198 | |     nonzeroref_from_ptr,
[INFO] [stdout] 199 | |     nonzeroslice_from_ptr
[INFO] [stdout] 200 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 195 | / impl_primitive!(
[INFO] [stdout] 196 | |     NonZeroI32 as i32,
[INFO] [stdout] 197 | |     nonzero_from_ptr,
[INFO] [stdout] 198 | |     nonzeroref_from_ptr,
[INFO] [stdout] 199 | |     nonzeroslice_from_ptr
[INFO] [stdout] 200 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 195 | / impl_primitive!(
[INFO] [stdout] 196 | |     NonZeroI32 as i32,
[INFO] [stdout] 197 | |     nonzero_from_ptr,
[INFO] [stdout] 198 | |     nonzeroref_from_ptr,
[INFO] [stdout] 199 | |     nonzeroslice_from_ptr
[INFO] [stdout] 200 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 201 | / impl_primitive!(
[INFO] [stdout] 202 | |     NonZeroI64 as i64,
[INFO] [stdout] 203 | |     nonzero_from_ptr,
[INFO] [stdout] 204 | |     nonzeroref_from_ptr,
[INFO] [stdout] 205 | |     nonzeroslice_from_ptr
[INFO] [stdout] 206 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 201 | / impl_primitive!(
[INFO] [stdout] 202 | |     NonZeroI64 as i64,
[INFO] [stdout] 203 | |     nonzero_from_ptr,
[INFO] [stdout] 204 | |     nonzeroref_from_ptr,
[INFO] [stdout] 205 | |     nonzeroslice_from_ptr
[INFO] [stdout] 206 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 201 | / impl_primitive!(
[INFO] [stdout] 202 | |     NonZeroI64 as i64,
[INFO] [stdout] 203 | |     nonzero_from_ptr,
[INFO] [stdout] 204 | |     nonzeroref_from_ptr,
[INFO] [stdout] 205 | |     nonzeroslice_from_ptr
[INFO] [stdout] 206 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 207 | / impl_primitive!(
[INFO] [stdout] 208 | |     NonZeroI128 as i128,
[INFO] [stdout] 209 | |     nonzero_from_ptr,
[INFO] [stdout] 210 | |     nonzeroref_from_ptr,
[INFO] [stdout] 211 | |     nonzeroslice_from_ptr
[INFO] [stdout] 212 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 207 | / impl_primitive!(
[INFO] [stdout] 208 | |     NonZeroI128 as i128,
[INFO] [stdout] 209 | |     nonzero_from_ptr,
[INFO] [stdout] 210 | |     nonzeroref_from_ptr,
[INFO] [stdout] 211 | |     nonzeroslice_from_ptr
[INFO] [stdout] 212 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 207 | / impl_primitive!(
[INFO] [stdout] 208 | |     NonZeroI128 as i128,
[INFO] [stdout] 209 | |     nonzero_from_ptr,
[INFO] [stdout] 210 | |     nonzeroref_from_ptr,
[INFO] [stdout] 211 | |     nonzeroslice_from_ptr
[INFO] [stdout] 212 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 213 | / impl_primitive!(
[INFO] [stdout] 214 | |     NonZeroIsize as isize,
[INFO] [stdout] 215 | |     nonzero_from_ptr,
[INFO] [stdout] 216 | |     nonzeroref_from_ptr,
[INFO] [stdout] 217 | |     nonzeroslice_from_ptr
[INFO] [stdout] 218 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 213 | / impl_primitive!(
[INFO] [stdout] 214 | |     NonZeroIsize as isize,
[INFO] [stdout] 215 | |     nonzero_from_ptr,
[INFO] [stdout] 216 | |     nonzeroref_from_ptr,
[INFO] [stdout] 217 | |     nonzeroslice_from_ptr
[INFO] [stdout] 218 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 213 | / impl_primitive!(
[INFO] [stdout] 214 | |     NonZeroIsize as isize,
[INFO] [stdout] 215 | |     nonzero_from_ptr,
[INFO] [stdout] 216 | |     nonzeroref_from_ptr,
[INFO] [stdout] 217 | |     nonzeroslice_from_ptr
[INFO] [stdout] 218 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling aho-corasick v0.7.15
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling clap v2.33.3
[INFO] [stderr]    Compiling regex v1.4.5
[INFO] [stderr]    Compiling env_logger v0.8.3
[INFO] [stderr]    Compiling simple_parse v0.6.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: fields `username_len` and `got_session` are never read
[INFO] [stdout]   --> examples/inspect.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct LoginInfo {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 34 |     username_len: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     got_session: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LoginInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `opt_hints::*`
[INFO] [stdout]    --> src/default_impls/mod.rs:387:9
[INFO] [stdout]     |
[INFO] [stdout] 387 | pub use opt_hints::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `raw::*`
[INFO] [stdout]    --> src/default_impls/mod.rs:390:9
[INFO] [stdout]     |
[INFO] [stdout] 390 | pub use raw::*;
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reader::*`
[INFO] [stdout]    --> src/default_impls/mod.rs:393:9
[INFO] [stdout]     |
[INFO] [stdout] 393 | pub use reader::*;
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `writer::*`
[INFO] [stdout]    --> src/default_impls/mod.rs:396:9
[INFO] [stdout]     |
[INFO] [stdout] 396 | pub use writer::*;
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `default_impls::*`
[INFO] [stdout]   --> src/lib.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use default_impls::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]  --> src/tests/mod.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[macro_use]
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the `macro_use` attribute can be applied to extern crates and modules
[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: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]   --> src/tests/mod.rs:82:3
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[macro_use]
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]  --> src/default_impls/mod.rs:3:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use]
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]   --> src/default_impls/mod.rs:57:3
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[macro_use]
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]   --> src/default_impls/mod.rs:97:3
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[macro_use]
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:138:3
[INFO] [stdout]     |
[INFO] [stdout] 138 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:153:3
[INFO] [stdout]     |
[INFO] [stdout] 153 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:189:3
[INFO] [stdout]     |
[INFO] [stdout] 189 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:213:3
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:244:3
[INFO] [stdout]     |
[INFO] [stdout] 244 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:284:3
[INFO] [stdout]     |
[INFO] [stdout] 284 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:319:3
[INFO] [stdout]     |
[INFO] [stdout] 319 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:331:3
[INFO] [stdout]     |
[INFO] [stdout] 331 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:344:3
[INFO] [stdout]     |
[INFO] [stdout] 344 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:357:3
[INFO] [stdout]     |
[INFO] [stdout] 357 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:372:3
[INFO] [stdout]     |
[INFO] [stdout] 372 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/mod.rs:378:3
[INFO] [stdout]     |
[INFO] [stdout] 378 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/raw.rs:317:3
[INFO] [stdout]     |
[INFO] [stdout] 317 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stdout]    --> src/default_impls/reader.rs:120:3
[INFO] [stdout]     |
[INFO] [stdout] 120 | #[macro_use]
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 147 | / impl_primitive!(
[INFO] [stdout] 148 | |     NonZeroU8 as u8,
[INFO] [stdout] 149 | |     nonzero_from_ptr,
[INFO] [stdout] 150 | |     nonzeroref_from_ptr,
[INFO] [stdout] 151 | |     nonzeroslice_from_ptr
[INFO] [stdout] 152 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]     = note: `#[warn(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 147 | / impl_primitive!(
[INFO] [stdout] 148 | |     NonZeroU8 as u8,
[INFO] [stdout] 149 | |     nonzero_from_ptr,
[INFO] [stdout] 150 | |     nonzeroref_from_ptr,
[INFO] [stdout] 151 | |     nonzeroslice_from_ptr
[INFO] [stdout] 152 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 147 | / impl_primitive!(
[INFO] [stdout] 148 | |     NonZeroU8 as u8,
[INFO] [stdout] 149 | |     nonzero_from_ptr,
[INFO] [stdout] 150 | |     nonzeroref_from_ptr,
[INFO] [stdout] 151 | |     nonzeroslice_from_ptr
[INFO] [stdout] 152 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 153 | / impl_primitive!(
[INFO] [stdout] 154 | |     NonZeroU16 as u16,
[INFO] [stdout] 155 | |     nonzero_from_ptr,
[INFO] [stdout] 156 | |     nonzeroref_from_ptr,
[INFO] [stdout] 157 | |     nonzeroslice_from_ptr
[INFO] [stdout] 158 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 153 | / impl_primitive!(
[INFO] [stdout] 154 | |     NonZeroU16 as u16,
[INFO] [stdout] 155 | |     nonzero_from_ptr,
[INFO] [stdout] 156 | |     nonzeroref_from_ptr,
[INFO] [stdout] 157 | |     nonzeroslice_from_ptr
[INFO] [stdout] 158 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 153 | / impl_primitive!(
[INFO] [stdout] 154 | |     NonZeroU16 as u16,
[INFO] [stdout] 155 | |     nonzero_from_ptr,
[INFO] [stdout] 156 | |     nonzeroref_from_ptr,
[INFO] [stdout] 157 | |     nonzeroslice_from_ptr
[INFO] [stdout] 158 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 159 | / impl_primitive!(
[INFO] [stdout] 160 | |     NonZeroU32 as u32,
[INFO] [stdout] 161 | |     nonzero_from_ptr,
[INFO] [stdout] 162 | |     nonzeroref_from_ptr,
[INFO] [stdout] 163 | |     nonzeroslice_from_ptr
[INFO] [stdout] 164 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 159 | / impl_primitive!(
[INFO] [stdout] 160 | |     NonZeroU32 as u32,
[INFO] [stdout] 161 | |     nonzero_from_ptr,
[INFO] [stdout] 162 | |     nonzeroref_from_ptr,
[INFO] [stdout] 163 | |     nonzeroslice_from_ptr
[INFO] [stdout] 164 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 159 | / impl_primitive!(
[INFO] [stdout] 160 | |     NonZeroU32 as u32,
[INFO] [stdout] 161 | |     nonzero_from_ptr,
[INFO] [stdout] 162 | |     nonzeroref_from_ptr,
[INFO] [stdout] 163 | |     nonzeroslice_from_ptr
[INFO] [stdout] 164 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 165 | / impl_primitive!(
[INFO] [stdout] 166 | |     NonZeroU64 as u64,
[INFO] [stdout] 167 | |     nonzero_from_ptr,
[INFO] [stdout] 168 | |     nonzeroref_from_ptr,
[INFO] [stdout] 169 | |     nonzeroslice_from_ptr
[INFO] [stdout] 170 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 165 | / impl_primitive!(
[INFO] [stdout] 166 | |     NonZeroU64 as u64,
[INFO] [stdout] 167 | |     nonzero_from_ptr,
[INFO] [stdout] 168 | |     nonzeroref_from_ptr,
[INFO] [stdout] 169 | |     nonzeroslice_from_ptr
[INFO] [stdout] 170 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 165 | / impl_primitive!(
[INFO] [stdout] 166 | |     NonZeroU64 as u64,
[INFO] [stdout] 167 | |     nonzero_from_ptr,
[INFO] [stdout] 168 | |     nonzeroref_from_ptr,
[INFO] [stdout] 169 | |     nonzeroslice_from_ptr
[INFO] [stdout] 170 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 171 | / impl_primitive!(
[INFO] [stdout] 172 | |     NonZeroU128 as u128,
[INFO] [stdout] 173 | |     nonzero_from_ptr,
[INFO] [stdout] 174 | |     nonzeroref_from_ptr,
[INFO] [stdout] 175 | |     nonzeroslice_from_ptr
[INFO] [stdout] 176 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 171 | / impl_primitive!(
[INFO] [stdout] 172 | |     NonZeroU128 as u128,
[INFO] [stdout] 173 | |     nonzero_from_ptr,
[INFO] [stdout] 174 | |     nonzeroref_from_ptr,
[INFO] [stdout] 175 | |     nonzeroslice_from_ptr
[INFO] [stdout] 176 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 171 | / impl_primitive!(
[INFO] [stdout] 172 | |     NonZeroU128 as u128,
[INFO] [stdout] 173 | |     nonzero_from_ptr,
[INFO] [stdout] 174 | |     nonzeroref_from_ptr,
[INFO] [stdout] 175 | |     nonzeroslice_from_ptr
[INFO] [stdout] 176 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 177 | / impl_primitive!(
[INFO] [stdout] 178 | |     NonZeroUsize as usize,
[INFO] [stdout] 179 | |     nonzero_from_ptr,
[INFO] [stdout] 180 | |     nonzeroref_from_ptr,
[INFO] [stdout] 181 | |     nonzeroslice_from_ptr
[INFO] [stdout] 182 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 177 | / impl_primitive!(
[INFO] [stdout] 178 | |     NonZeroUsize as usize,
[INFO] [stdout] 179 | |     nonzero_from_ptr,
[INFO] [stdout] 180 | |     nonzeroref_from_ptr,
[INFO] [stdout] 181 | |     nonzeroslice_from_ptr
[INFO] [stdout] 182 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 177 | / impl_primitive!(
[INFO] [stdout] 178 | |     NonZeroUsize as usize,
[INFO] [stdout] 179 | |     nonzero_from_ptr,
[INFO] [stdout] 180 | |     nonzeroref_from_ptr,
[INFO] [stdout] 181 | |     nonzeroslice_from_ptr
[INFO] [stdout] 182 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 183 | / impl_primitive!(
[INFO] [stdout] 184 | |     NonZeroI8 as i8,
[INFO] [stdout] 185 | |     nonzero_from_ptr,
[INFO] [stdout] 186 | |     nonzeroref_from_ptr,
[INFO] [stdout] 187 | |     nonzeroslice_from_ptr
[INFO] [stdout] 188 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 183 | / impl_primitive!(
[INFO] [stdout] 184 | |     NonZeroI8 as i8,
[INFO] [stdout] 185 | |     nonzero_from_ptr,
[INFO] [stdout] 186 | |     nonzeroref_from_ptr,
[INFO] [stdout] 187 | |     nonzeroslice_from_ptr
[INFO] [stdout] 188 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 183 | / impl_primitive!(
[INFO] [stdout] 184 | |     NonZeroI8 as i8,
[INFO] [stdout] 185 | |     nonzero_from_ptr,
[INFO] [stdout] 186 | |     nonzeroref_from_ptr,
[INFO] [stdout] 187 | |     nonzeroslice_from_ptr
[INFO] [stdout] 188 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 189 | / impl_primitive!(
[INFO] [stdout] 190 | |     NonZeroI16 as i16,
[INFO] [stdout] 191 | |     nonzero_from_ptr,
[INFO] [stdout] 192 | |     nonzeroref_from_ptr,
[INFO] [stdout] 193 | |     nonzeroslice_from_ptr
[INFO] [stdout] 194 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 189 | / impl_primitive!(
[INFO] [stdout] 190 | |     NonZeroI16 as i16,
[INFO] [stdout] 191 | |     nonzero_from_ptr,
[INFO] [stdout] 192 | |     nonzeroref_from_ptr,
[INFO] [stdout] 193 | |     nonzeroslice_from_ptr
[INFO] [stdout] 194 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 189 | / impl_primitive!(
[INFO] [stdout] 190 | |     NonZeroI16 as i16,
[INFO] [stdout] 191 | |     nonzero_from_ptr,
[INFO] [stdout] 192 | |     nonzeroref_from_ptr,
[INFO] [stdout] 193 | |     nonzeroslice_from_ptr
[INFO] [stdout] 194 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 195 | / impl_primitive!(
[INFO] [stdout] 196 | |     NonZeroI32 as i32,
[INFO] [stdout] 197 | |     nonzero_from_ptr,
[INFO] [stdout] 198 | |     nonzeroref_from_ptr,
[INFO] [stdout] 199 | |     nonzeroslice_from_ptr
[INFO] [stdout] 200 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 195 | / impl_primitive!(
[INFO] [stdout] 196 | |     NonZeroI32 as i32,
[INFO] [stdout] 197 | |     nonzero_from_ptr,
[INFO] [stdout] 198 | |     nonzeroref_from_ptr,
[INFO] [stdout] 199 | |     nonzeroslice_from_ptr
[INFO] [stdout] 200 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 195 | / impl_primitive!(
[INFO] [stdout] 196 | |     NonZeroI32 as i32,
[INFO] [stdout] 197 | |     nonzero_from_ptr,
[INFO] [stdout] 198 | |     nonzeroref_from_ptr,
[INFO] [stdout] 199 | |     nonzeroslice_from_ptr
[INFO] [stdout] 200 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 201 | / impl_primitive!(
[INFO] [stdout] 202 | |     NonZeroI64 as i64,
[INFO] [stdout] 203 | |     nonzero_from_ptr,
[INFO] [stdout] 204 | |     nonzeroref_from_ptr,
[INFO] [stdout] 205 | |     nonzeroslice_from_ptr
[INFO] [stdout] 206 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 201 | / impl_primitive!(
[INFO] [stdout] 202 | |     NonZeroI64 as i64,
[INFO] [stdout] 203 | |     nonzero_from_ptr,
[INFO] [stdout] 204 | |     nonzeroref_from_ptr,
[INFO] [stdout] 205 | |     nonzeroslice_from_ptr
[INFO] [stdout] 206 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 201 | / impl_primitive!(
[INFO] [stdout] 202 | |     NonZeroI64 as i64,
[INFO] [stdout] 203 | |     nonzero_from_ptr,
[INFO] [stdout] 204 | |     nonzeroref_from_ptr,
[INFO] [stdout] 205 | |     nonzeroslice_from_ptr
[INFO] [stdout] 206 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 207 | / impl_primitive!(
[INFO] [stdout] 208 | |     NonZeroI128 as i128,
[INFO] [stdout] 209 | |     nonzero_from_ptr,
[INFO] [stdout] 210 | |     nonzeroref_from_ptr,
[INFO] [stdout] 211 | |     nonzeroslice_from_ptr
[INFO] [stdout] 212 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 207 | / impl_primitive!(
[INFO] [stdout] 208 | |     NonZeroI128 as i128,
[INFO] [stdout] 209 | |     nonzero_from_ptr,
[INFO] [stdout] 210 | |     nonzeroref_from_ptr,
[INFO] [stdout] 211 | |     nonzeroslice_from_ptr
[INFO] [stdout] 212 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 207 | / impl_primitive!(
[INFO] [stdout] 208 | |     NonZeroI128 as i128,
[INFO] [stdout] 209 | |     nonzero_from_ptr,
[INFO] [stdout] 210 | |     nonzeroref_from_ptr,
[INFO] [stdout] 211 | |     nonzeroslice_from_ptr
[INFO] [stdout] 212 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 213 | / impl_primitive!(
[INFO] [stdout] 214 | |     NonZeroIsize as isize,
[INFO] [stdout] 215 | |     nonzero_from_ptr,
[INFO] [stdout] 216 | |     nonzeroref_from_ptr,
[INFO] [stdout] 217 | |     nonzeroslice_from_ptr
[INFO] [stdout] 218 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 213 | / impl_primitive!(
[INFO] [stdout] 214 | |     NonZeroIsize as isize,
[INFO] [stdout] 215 | |     nonzero_from_ptr,
[INFO] [stdout] 216 | |     nonzeroref_from_ptr,
[INFO] [stdout] 217 | |     nonzeroslice_from_ptr
[INFO] [stdout] 218 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/default_impls/raw.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stdout] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stdout] 113 | |         // First get ref to primitive type
[INFO] [stdout] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | |         Ok(r)
[INFO] [stdout] 123 | |     }};
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stdout] ...
[INFO] [stdout] 213 | / impl_primitive!(
[INFO] [stdout] 214 | |     NonZeroIsize as isize,
[INFO] [stdout] 215 | |     nonzero_from_ptr,
[INFO] [stdout] 216 | |     nonzeroref_from_ptr,
[INFO] [stdout] 217 | |     nonzeroslice_from_ptr
[INFO] [stdout] 218 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 23.67s
[INFO] running `Command { std: "docker" "inspect" "383b394b13b409e909c806f802bd5e5477c8307e2d71601c6f7ba11d98fec403", 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" "383b394b13b409e909c806f802bd5e5477c8307e2d71601c6f7ba11d98fec403" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `opt_hints::*`
[INFO] [stderr]    --> src/default_impls/mod.rs:387:9
[INFO] [stderr]     |
[INFO] [stderr] 387 | pub use opt_hints::*;
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `raw::*`
[INFO] [stderr]    --> src/default_impls/mod.rs:390:9
[INFO] [stderr]     |
[INFO] [stderr] 390 | pub use raw::*;
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `reader::*`
[INFO] [stderr]    --> src/default_impls/mod.rs:393:9
[INFO] [stderr]     |
[INFO] [stderr] 393 | pub use reader::*;
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `writer::*`
[INFO] [stderr]    --> src/default_impls/mod.rs:396:9
[INFO] [stderr]     |
[INFO] [stderr] 396 | pub use writer::*;
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `default_impls::*`
[INFO] [stderr]   --> src/lib.rs:17:9
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub use default_impls::*;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stderr]  --> src/default_impls/mod.rs:3:3
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[macro_use]
[INFO] [stderr]   |   ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: the `macro_use` attribute can be applied to extern crates and modules
[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: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stderr]   --> src/default_impls/mod.rs:57:3
[INFO] [stderr]    |
[INFO] [stderr] 57 | #[macro_use]
[INFO] [stderr]    |   ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stderr] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stderr]   --> src/default_impls/mod.rs:97:3
[INFO] [stderr]    |
[INFO] [stderr] 97 | #[macro_use]
[INFO] [stderr]    |   ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stderr] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stderr]    --> src/default_impls/mod.rs:138:3
[INFO] [stderr]     |
[INFO] [stderr] 138 | #[macro_use]
[INFO] [stderr]     |   ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stderr] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stderr]    --> src/default_impls/mod.rs:153:3
[INFO] [stderr]     |
[INFO] [stderr] 153 | #[macro_use]
[INFO] [stderr]     |   ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stderr] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stderr]    --> src/default_impls/mod.rs:189:3
[INFO] [stderr]     |
[INFO] [stderr] 189 | #[macro_use]
[INFO] [stderr]     |   ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stderr] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stderr]    --> src/default_impls/mod.rs:213:3
[INFO] [stderr]     |
[INFO] [stderr] 213 | #[macro_use]
[INFO] [stderr]     |   ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stderr] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stderr]    --> src/default_impls/mod.rs:244:3
[INFO] [stderr]     |
[INFO] [stderr] 244 | #[macro_use]
[INFO] [stderr]     |   ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stderr] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stderr]    --> src/default_impls/mod.rs:284:3
[INFO] [stderr]     |
[INFO] [stderr] 284 | #[macro_use]
[INFO] [stderr]     |   ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stderr] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stderr]    --> src/default_impls/mod.rs:319:3
[INFO] [stderr]     |
[INFO] [stderr] 319 | #[macro_use]
[INFO] [stderr]     |   ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stderr] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stderr]    --> src/default_impls/mod.rs:331:3
[INFO] [stderr]     |
[INFO] [stderr] 331 | #[macro_use]
[INFO] [stderr]     |   ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stderr] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stderr]    --> src/default_impls/mod.rs:344:3
[INFO] [stderr]     |
[INFO] [stderr] 344 | #[macro_use]
[INFO] [stderr]     |   ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stderr] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stderr]    --> src/default_impls/mod.rs:357:3
[INFO] [stderr]     |
[INFO] [stderr] 357 | #[macro_use]
[INFO] [stderr]     |   ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stderr] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stderr]    --> src/default_impls/mod.rs:372:3
[INFO] [stderr]     |
[INFO] [stderr] 372 | #[macro_use]
[INFO] [stderr]     |   ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stderr] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stderr]    --> src/default_impls/mod.rs:378:3
[INFO] [stderr]     |
[INFO] [stderr] 378 | #[macro_use]
[INFO] [stderr]     |   ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stderr] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stderr]    --> src/default_impls/raw.rs:317:3
[INFO] [stderr]     |
[INFO] [stderr] 317 | #[macro_use]
[INFO] [stderr]     |   ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stderr] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stderr]    --> src/default_impls/reader.rs:120:3
[INFO] [stderr]     |
[INFO] [stderr] 120 | #[macro_use]
[INFO] [stderr]     |   ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stderr] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stderr]    --> src/default_impls/raw.rs:121:23
[INFO] [stderr]     |
[INFO] [stderr] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stderr] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stderr] 113 | |         // First get ref to primitive type
[INFO] [stderr] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stderr] ...   |
[INFO] [stderr] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stderr]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 122 | |         Ok(r)
[INFO] [stderr] 123 | |     }};
[INFO] [stderr] 124 | | }
[INFO] [stderr]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stderr] ...
[INFO] [stderr] 147 | / impl_primitive!(
[INFO] [stderr] 148 | |     NonZeroU8 as u8,
[INFO] [stderr] 149 | |     nonzero_from_ptr,
[INFO] [stderr] 150 | |     nonzeroref_from_ptr,
[INFO] [stderr] 151 | |     nonzeroslice_from_ptr
[INFO] [stderr] 152 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stderr]     = note: `#[warn(invalid_reference_casting)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stderr]    --> src/default_impls/raw.rs:121:23
[INFO] [stderr]     |
[INFO] [stderr] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stderr] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stderr] 113 | |         // First get ref to primitive type
[INFO] [stderr] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stderr] ...   |
[INFO] [stderr] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stderr]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 122 | |         Ok(r)
[INFO] [stderr] 123 | |     }};
[INFO] [stderr] 124 | | }
[INFO] [stderr]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stderr] ...
[INFO] [stderr] 147 | / impl_primitive!(
[INFO] [stderr] 148 | |     NonZeroU8 as u8,
[INFO] [stderr] 149 | |     nonzero_from_ptr,
[INFO] [stderr] 150 | |     nonzeroref_from_ptr,
[INFO] [stderr] 151 | |     nonzeroslice_from_ptr
[INFO] [stderr] 152 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stderr] 
[INFO] [stderr] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stderr]    --> src/default_impls/raw.rs:121:23
[INFO] [stderr]     |
[INFO] [stderr] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stderr] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stderr] 113 | |         // First get ref to primitive type
[INFO] [stderr] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stderr] ...   |
[INFO] [stderr] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stderr]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 122 | |         Ok(r)
[INFO] [stderr] 123 | |     }};
[INFO] [stderr] 124 | | }
[INFO] [stderr]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stderr] ...
[INFO] [stderr] 153 | / impl_primitive!(
[INFO] [stderr] 154 | |     NonZeroU16 as u16,
[INFO] [stderr] 155 | |     nonzero_from_ptr,
[INFO] [stderr] 156 | |     nonzeroref_from_ptr,
[INFO] [stderr] 157 | |     nonzeroslice_from_ptr
[INFO] [stderr] 158 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stderr] 
[INFO] [stderr] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stderr]    --> src/default_impls/raw.rs:121:23
[INFO] [stderr]     |
[INFO] [stderr] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stderr] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stderr] 113 | |         // First get ref to primitive type
[INFO] [stderr] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stderr] ...   |
[INFO] [stderr] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stderr]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 122 | |         Ok(r)
[INFO] [stderr] 123 | |     }};
[INFO] [stderr] 124 | | }
[INFO] [stderr]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stderr] ...
[INFO] [stderr] 159 | / impl_primitive!(
[INFO] [stderr] 160 | |     NonZeroU32 as u32,
[INFO] [stderr] 161 | |     nonzero_from_ptr,
[INFO] [stderr] 162 | |     nonzeroref_from_ptr,
[INFO] [stderr] 163 | |     nonzeroslice_from_ptr
[INFO] [stderr] 164 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stderr] 
[INFO] [stderr] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stderr]    --> src/default_impls/raw.rs:121:23
[INFO] [stderr]     |
[INFO] [stderr] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stderr] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stderr] 113 | |         // First get ref to primitive type
[INFO] [stderr] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stderr] ...   |
[INFO] [stderr] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stderr]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 122 | |         Ok(r)
[INFO] [stderr] 123 | |     }};
[INFO] [stderr] 124 | | }
[INFO] [stderr]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stderr] ...
[INFO] [stderr] 165 | / impl_primitive!(
[INFO] [stderr] 166 | |     NonZeroU64 as u64,
[INFO] [stderr] 167 | |     nonzero_from_ptr,
[INFO] [stderr] 168 | |     nonzeroref_from_ptr,
[INFO] [stderr] 169 | |     nonzeroslice_from_ptr
[INFO] [stderr] 170 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stderr] 
[INFO] [stderr] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stderr]    --> src/default_impls/raw.rs:121:23
[INFO] [stderr]     |
[INFO] [stderr] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stderr] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stderr] 113 | |         // First get ref to primitive type
[INFO] [stderr] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stderr] ...   |
[INFO] [stderr] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stderr]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 122 | |         Ok(r)
[INFO] [stderr] 123 | |     }};
[INFO] [stderr] 124 | | }
[INFO] [stderr]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stderr] ...
[INFO] [stderr] 171 | / impl_primitive!(
[INFO] [stderr] 172 | |     NonZeroU128 as u128,
[INFO] [stderr] 173 | |     nonzero_from_ptr,
[INFO] [stderr] 174 | |     nonzeroref_from_ptr,
[INFO] [stderr] 175 | |     nonzeroslice_from_ptr
[INFO] [stderr] 176 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stderr] 
[INFO] [stderr] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stderr]    --> src/default_impls/raw.rs:121:23
[INFO] [stderr]     |
[INFO] [stderr] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stderr] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stderr] 113 | |         // First get ref to primitive type
[INFO] [stderr] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stderr] ...   |
[INFO] [stderr] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stderr]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 122 | |         Ok(r)
[INFO] [stderr] 123 | |     }};
[INFO] [stderr] 124 | | }
[INFO] [stderr]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stderr] ...
[INFO] [stderr] 177 | / impl_primitive!(
[INFO] [stderr] 178 | |     NonZeroUsize as usize,
[INFO] [stderr] 179 | |     nonzero_from_ptr,
[INFO] [stderr] 180 | |     nonzeroref_from_ptr,
[INFO] [stderr] 181 | |     nonzeroslice_from_ptr
[INFO] [stderr] 182 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stderr] 
[INFO] [stderr] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stderr]    --> src/default_impls/raw.rs:121:23
[INFO] [stderr]     |
[INFO] [stderr] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stderr] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stderr] 113 | |         // First get ref to primitive type
[INFO] [stderr] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stderr] ...   |
[INFO] [stderr] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stderr]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 122 | |         Ok(r)
[INFO] [stderr] 123 | |     }};
[INFO] [stderr] 124 | | }
[INFO] [stderr]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stderr] ...
[INFO] [stderr] 183 | / impl_primitive!(
[INFO] [stderr] 184 | |     NonZeroI8 as i8,
[INFO] [stderr] 185 | |     nonzero_from_ptr,
[INFO] [stderr] 186 | |     nonzeroref_from_ptr,
[INFO] [stderr] 187 | |     nonzeroslice_from_ptr
[INFO] [stderr] 188 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stderr] 
[INFO] [stderr] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stderr]    --> src/default_impls/raw.rs:121:23
[INFO] [stderr]     |
[INFO] [stderr] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stderr] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stderr] 113 | |         // First get ref to primitive type
[INFO] [stderr] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stderr] ...   |
[INFO] [stderr] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stderr]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 122 | |         Ok(r)
[INFO] [stderr] 123 | |     }};
[INFO] [stderr] 124 | | }
[INFO] [stderr]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stderr] ...
[INFO] [stderr] 189 | / impl_primitive!(
[INFO] [stderr] 190 | |     NonZeroI16 as i16,
[INFO] [stderr] 191 | |     nonzero_from_ptr,
[INFO] [stderr] 192 | |     nonzeroref_from_ptr,
[INFO] [stderr] 193 | |     nonzeroslice_from_ptr
[INFO] [stderr] 194 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stderr] 
[INFO] [stderr] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stderr]    --> src/default_impls/raw.rs:121:23
[INFO] [stderr]     |
[INFO] [stderr] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stderr] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stderr] 113 | |         // First get ref to primitive type
[INFO] [stderr] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stderr] ...   |
[INFO] [stderr] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stderr]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 122 | |         Ok(r)
[INFO] [stderr] 123 | |     }};
[INFO] [stderr] 124 | | }
[INFO] [stderr]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stderr] ...
[INFO] [stderr] 195 | / impl_primitive!(
[INFO] [stderr] 196 | |     NonZeroI32 as i32,
[INFO] [stderr] 197 | |     nonzero_from_ptr,
[INFO] [stderr] 198 | |     nonzeroref_from_ptr,
[INFO] [stderr] 199 | |     nonzeroslice_from_ptr
[INFO] [stderr] 200 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stderr] 
[INFO] [stderr] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stderr]    --> src/default_impls/raw.rs:121:23
[INFO] [stderr]     |
[INFO] [stderr] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stderr] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stderr] 113 | |         // First get ref to primitive type
[INFO] [stderr] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stderr] ...   |
[INFO] [stderr] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stderr]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 122 | |         Ok(r)
[INFO] [stderr] 123 | |     }};
[INFO] [stderr] 124 | | }
[INFO] [stderr]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stderr] ...
[INFO] [stderr] 201 | / impl_primitive!(
[INFO] [stderr] 202 | |     NonZeroI64 as i64,
[INFO] [stderr] 203 | |     nonzero_from_ptr,
[INFO] [stderr] 204 | |     nonzeroref_from_ptr,
[INFO] [stderr] 205 | |     nonzeroslice_from_ptr
[INFO] [stderr] 206 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stderr] 
[INFO] [stderr] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stderr]    --> src/default_impls/raw.rs:121:23
[INFO] [stderr]     |
[INFO] [stderr] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stderr] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stderr] 113 | |         // First get ref to primitive type
[INFO] [stderr] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stderr] ...   |
[INFO] [stderr] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stderr]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 122 | |         Ok(r)
[INFO] [stderr] 123 | |     }};
[INFO] [stderr] 124 | | }
[INFO] [stderr]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stderr] ...
[INFO] [stderr] 207 | / impl_primitive!(
[INFO] [stderr] 208 | |     NonZeroI128 as i128,
[INFO] [stderr] 209 | |     nonzero_from_ptr,
[INFO] [stderr] 210 | |     nonzeroref_from_ptr,
[INFO] [stderr] 211 | |     nonzeroslice_from_ptr
[INFO] [stderr] 212 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stderr] 
[INFO] [stderr] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stderr]    --> src/default_impls/raw.rs:121:23
[INFO] [stderr]     |
[INFO] [stderr] 111 | / macro_rules! nonzeroref_from_ptr {
[INFO] [stderr] 112 | |     ($typ:ty as $as_typ:ty, $reader:ident, $unchecked_reader:ident, $checked_bytes:ident, $src:expr, $ctx:ident) => {{
[INFO] [stderr] 113 | |         // First get ref to primitive type
[INFO] [stderr] 114 | |         let prim_ref = <&$as_typ>::$unchecked_reader($checked_bytes, $src, $ctx)?;
[INFO] [stderr] ...   |
[INFO] [stderr] 121 | |         let r: $typ = &mut *(prim_ref as *const $as_typ as *mut $as_typ as *mut _);
[INFO] [stderr]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 122 | |         Ok(r)
[INFO] [stderr] 123 | |     }};
[INFO] [stderr] 124 | | }
[INFO] [stderr]     | |_- this warning originates in the macro `nonzeroref_from_ptr` which comes from the expansion of the macro `impl_primitive`
[INFO] [stderr] ...
[INFO] [stderr] 213 | / impl_primitive!(
[INFO] [stderr] 214 | |     NonZeroIsize as isize,
[INFO] [stderr] 215 | |     nonzero_from_ptr,
[INFO] [stderr] 216 | |     nonzeroref_from_ptr,
[INFO] [stderr] 217 | |     nonzeroslice_from_ptr
[INFO] [stderr] 218 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `simple_parse` (lib) generated 58 warnings (23 duplicates) (run `cargo fix --lib -p simple_parse` to apply 22 suggestions)
[INFO] [stderr] warning: fields `username_len` and `got_session` are never read
[INFO] [stderr]   --> examples/inspect.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub struct LoginInfo {
[INFO] [stderr]    |            --------- fields in this struct
[INFO] [stderr] 34 |     username_len: u8,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 41 |     got_session: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `LoginInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stderr]  --> src/tests/mod.rs:8:3
[INFO] [stderr]   |
[INFO] [stderr] 8 | #[macro_use]
[INFO] [stderr]   |   ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: the `macro_use` attribute can be applied to extern crates and modules
[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: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stderr]   --> src/tests/mod.rs:82:3
[INFO] [stderr]    |
[INFO] [stderr] 82 | #[macro_use]
[INFO] [stderr]    |   ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stderr] warning: the `macro_use` attribute cannot be used on macro defs
[INFO] [stderr]  --> src/default_impls/mod.rs:3:3
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[macro_use]
[INFO] [stderr]   |   ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: the `macro_use` attribute can be applied to extern crates and modules
[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] 
[INFO] [stderr] warning: `simple_parse` (example "inspect") generated 1 warning
[INFO] [stderr] warning: `simple_parse` (lib test) generated 60 warnings (57 duplicates) (run `cargo fix --lib -p simple_parse --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/simple_parse/dba760e3ec245cb6/out/simple_parse-dba760e3ec245cb6)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::primitive_types ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::primitive_types stdout ----
[INFO] [stdout] <u8>
[INFO] [stdout] 	Empty Slice
[INFO] [stdout] 	One byte short
[INFO] [stdout] 	One byte extra
[INFO] [stdout] 	Little Endian
[INFO] [stdout] 	Big Endian
[INFO] [stdout] 	u8 * 3
[INFO] [stdout] 	&u8
[INFO] [stdout] 	&[u8] with count
[INFO] [stdout] <u16>
[INFO] [stdout] 	Empty Slice
[INFO] [stdout] 	One byte short
[INFO] [stdout] 	One byte extra
[INFO] [stdout] 	Little Endian
[INFO] [stdout] 	Big Endian
[INFO] [stdout] 	u16 * 3
[INFO] [stdout] 	&u16
[INFO] [stdout] 	&[u16] with count
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout] <u32>
[INFO] [stdout] 	Empty Slice
[INFO] [stdout] 	One byte short
[INFO] [stdout] 	One byte extra
[INFO] [stdout] 	Little Endian
[INFO] [stdout] 	Big Endian
[INFO] [stdout] 	u32 * 3
[INFO] [stdout] 	&u32
[INFO] [stdout] 	&[u32] with count
[INFO] [stdout] <u64>
[INFO] [stdout] 	Empty Slice
[INFO] [stdout] 	One byte short
[INFO] [stdout] 	One byte extra
[INFO] [stdout] 	Little Endian
[INFO] [stdout] 	Big Endian
[INFO] [stdout] 	u64 * 3
[INFO] [stdout] 	&u64
[INFO] [stdout] 	&[u64] with count
[INFO] [stdout] <u128>
[INFO] [stdout] 	Empty Slice
[INFO] [stdout] 	One byte short
[INFO] [stdout] 	One byte extra
[INFO] [stdout] 	Little Endian
[INFO] [stdout] 	Big Endian
[INFO] [stdout] 	u128 * 3
[INFO] [stdout] 	&u128
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::primitive_types' (852) panicked at src/tests/mod.rs:226:5:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: BadAlignment
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b145e5a7a91 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5b145e5bcc9a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5b145e5abcac - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5b145e583ef6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5b145e5a0129 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5b145e53c7d0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5b145e5a02e2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5b145e583fa2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5b145e57ccb9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5b145e584bad - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5b145e5bd3cc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5b145e5bd1a2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5b145e52f6fe - <simple_parse[a413207888aeeb67]::tests::primitive_types::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x5b145e52fc1b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   14:     0x5b145e53cdf5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   15:     0x5b145e5366e4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x5b145e53fe82 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   17:     0x5b145e5a72ef - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x7bc56affedfa - <unknown>
[INFO] [stdout]   19:     0x7bc56b0923d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::primitive_types
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "383b394b13b409e909c806f802bd5e5477c8307e2d71601c6f7ba11d98fec403", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "383b394b13b409e909c806f802bd5e5477c8307e2d71601c6f7ba11d98fec403", kill_on_drop: false }`
[INFO] [stdout] 383b394b13b409e909c806f802bd5e5477c8307e2d71601c6f7ba11d98fec403
