[INFO] fetching crate bigint 4.4.3...
[INFO] checking bigint-4.4.3 against try#8d0c454bea9d9cc2cc7e288388f3b7d1da19c04f for pr-114559
[INFO] extracting crate bigint 4.4.3 into /workspace/builds/worker-3-tc2/source
[INFO] validating manifest of crates.io crate bigint 4.4.3 on toolchain 8d0c454bea9d9cc2cc7e288388f3b7d1da19c04f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8d0c454bea9d9cc2cc7e288388f3b7d1da19c04f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate bigint 4.4.3
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate bigint 4.4.3
[INFO] tweaked toml for crates.io crate bigint 4.4.3 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate crates.io crate bigint 4.4.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" "+8d0c454bea9d9cc2cc7e288388f3b7d1da19c04f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5c16f4e6c37141f9fef0bc86f7a492d732943053e42aab8461035881e3f53823" "/opt/rustwide/cargo-home/bin/cargo" "+8d0c454bea9d9cc2cc7e288388f3b7d1da19c04f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ff9f89f38e1909129c3d95cc3c2819a067435bee5f437609765ff4b360a702f7
[INFO] running `Command { std: "docker" "start" "-a" "ff9f89f38e1909129c3d95cc3c2819a067435bee5f437609765ff4b360a702f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ff9f89f38e1909129c3d95cc3c2819a067435bee5f437609765ff4b360a702f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ff9f89f38e1909129c3d95cc3c2819a067435bee5f437609765ff4b360a702f7", kill_on_drop: false }`
[INFO] [stdout] ff9f89f38e1909129c3d95cc3c2819a067435bee5f437609765ff4b360a702f7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5c16f4e6c37141f9fef0bc86f7a492d732943053e42aab8461035881e3f53823" "/opt/rustwide/cargo-home/bin/cargo" "+8d0c454bea9d9cc2cc7e288388f3b7d1da19c04f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cf26a1c255d960a8d212bde67dd0b50b7b8b00947c0ec0d202c355be70b371d5
[INFO] running `Command { std: "docker" "start" "-a" "cf26a1c255d960a8d212bde67dd0b50b7b8b00947c0ec0d202c355be70b371d5", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.69
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]     Checking winapi v0.2.8
[INFO] [stderr]     Checking utf8-ranges v0.1.3
[INFO] [stderr]    Compiling crunchy v0.1.6
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]     Checking regex-syntax v0.3.9
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]     Checking bigint v4.4.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/uint.rs:146:71
[INFO] [stdout]     |
[INFO] [stdout] 146 |         uint_full_mul_reg!($name, $n_words, $self_expr, $other, |_, _| true);
[INFO] [stdout]     |                                                                             ^
[INFO] [stdout] ...
[INFO] [stdout] 975 | construct_uint!(U128, 2);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `uint_full_mul_reg`
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `uint_full_mul_reg` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uint.rs:951:5
[INFO] [stdout]     |
[INFO] [stdout] 951 |                 try!(write!(f, "0x"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 975 | construct_uint!(U128, 2);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uint.rs:958:8
[INFO] [stdout]     |
[INFO] [stdout] 958 |                             try!(write!(f, "{:x}", nibble));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] ...
[INFO] [stdout] 975 | construct_uint!(U128, 2);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/uint.rs:146:71
[INFO] [stdout]     |
[INFO] [stdout] 146 |         uint_full_mul_reg!($name, $n_words, $self_expr, $other, |_, _| true);
[INFO] [stdout]     |                                                                             ^
[INFO] [stdout] ...
[INFO] [stdout] 976 | construct_uint!(U256, 4);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `uint_full_mul_reg`
[INFO] [stdout]     = note: this warning originates in the macro `uint_full_mul_reg` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uint.rs:951:5
[INFO] [stdout]     |
[INFO] [stdout] 951 |                 try!(write!(f, "0x"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 976 | construct_uint!(U256, 4);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uint.rs:958:8
[INFO] [stdout]     |
[INFO] [stdout] 958 |                             try!(write!(f, "{:x}", nibble));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] ...
[INFO] [stdout] 976 | construct_uint!(U256, 4);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/uint.rs:143:76
[INFO] [stdout]     |
[INFO] [stdout] 143 |         uint_full_mul_reg!($name, 8, $self_expr, $other, |a, b| a != 0 || b != 0);
[INFO] [stdout]     |                                                                                  ^
[INFO] [stdout] ...
[INFO] [stdout] 977 | construct_uint!(U512, 8);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `uint_full_mul_reg`
[INFO] [stdout]     = note: this warning originates in the macro `uint_full_mul_reg` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uint.rs:951:5
[INFO] [stdout]     |
[INFO] [stdout] 951 |                 try!(write!(f, "0x"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 977 | construct_uint!(U512, 8);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uint.rs:958:8
[INFO] [stdout]     |
[INFO] [stdout] 958 |                             try!(write!(f, "{:x}", nibble));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] ...
[INFO] [stdout] 977 | construct_uint!(U512, 8);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/uint.rs:146:71
[INFO] [stdout]     |
[INFO] [stdout] 146 |         uint_full_mul_reg!($name, $n_words, $self_expr, $other, |_, _| true);
[INFO] [stdout]     |                                                                             ^
[INFO] [stdout] ...
[INFO] [stdout] 984 |         U512(uint_full_mul_reg!(U256, 4, self, other))
[INFO] [stdout]     |              ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `uint_full_mul_reg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `core::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/uint.rs:85:39
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 975 | construct_uint!(U128, 2);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `core::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/uint.rs:85:39
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 975 | construct_uint!(U128, 2);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `core::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/uint.rs:85:39
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 976 | construct_uint!(U256, 4);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `core::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/uint.rs:85:39
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 976 | construct_uint!(U256, 4);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `core::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/uint.rs:85:39
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 977 | construct_uint!(U512, 8);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `core::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/uint.rs:85:39
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 977 | construct_uint!(U512, 8);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking thread-id v2.0.0
[INFO] [stderr]     Checking memchr v0.1.11
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking thread_local v0.2.7
[INFO] [stderr]     Checking aho-corasick v0.5.3
[INFO] [stdout] warning: the type `[u64; 2]` does not permit being left uninitialized
[INFO] [stdout]    --> src/uint.rs:85:26
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 975 | construct_uint!(U128, 2);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 2]` does not permit being left uninitialized
[INFO] [stdout]    --> src/uint.rs:85:26
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 975 | construct_uint!(U128, 2);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 4]` does not permit being left uninitialized
[INFO] [stdout]    --> src/uint.rs:85:26
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 976 | construct_uint!(U256, 4);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 4]` does not permit being left uninitialized
[INFO] [stdout]    --> src/uint.rs:85:26
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 976 | construct_uint!(U256, 4);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 8]` does not permit being left uninitialized
[INFO] [stdout]    --> src/uint.rs:85:26
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 977 | construct_uint!(U512, 8);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 8]` does not permit being left uninitialized
[INFO] [stdout]    --> src/uint.rs:85:26
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 977 | construct_uint!(U512, 8);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 22 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking regex v0.1.80
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking env_logger v0.3.5
[INFO] [stderr]     Checking quickcheck v0.4.1
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/uint.rs:146:71
[INFO] [stdout]     |
[INFO] [stdout] 146 |         uint_full_mul_reg!($name, $n_words, $self_expr, $other, |_, _| true);
[INFO] [stdout]     |                                                                             ^
[INFO] [stdout] ...
[INFO] [stdout] 975 | construct_uint!(U128, 2);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `uint_full_mul_reg`
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `uint_full_mul_reg` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uint.rs:951:5
[INFO] [stdout]     |
[INFO] [stdout] 951 |                 try!(write!(f, "0x"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 975 | construct_uint!(U128, 2);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uint.rs:958:8
[INFO] [stdout]     |
[INFO] [stdout] 958 |                             try!(write!(f, "{:x}", nibble));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] ...
[INFO] [stdout] 975 | construct_uint!(U128, 2);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/uint.rs:146:71
[INFO] [stdout]     |
[INFO] [stdout] 146 |         uint_full_mul_reg!($name, $n_words, $self_expr, $other, |_, _| true);
[INFO] [stdout]     |                                                                             ^
[INFO] [stdout] ...
[INFO] [stdout] 976 | construct_uint!(U256, 4);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `uint_full_mul_reg`
[INFO] [stdout]     = note: this warning originates in the macro `uint_full_mul_reg` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uint.rs:951:5
[INFO] [stdout]     |
[INFO] [stdout] 951 |                 try!(write!(f, "0x"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 976 | construct_uint!(U256, 4);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uint.rs:958:8
[INFO] [stdout]     |
[INFO] [stdout] 958 |                             try!(write!(f, "{:x}", nibble));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] ...
[INFO] [stdout] 976 | construct_uint!(U256, 4);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/uint.rs:143:76
[INFO] [stdout]     |
[INFO] [stdout] 143 |         uint_full_mul_reg!($name, 8, $self_expr, $other, |a, b| a != 0 || b != 0);
[INFO] [stdout]     |                                                                                  ^
[INFO] [stdout] ...
[INFO] [stdout] 977 | construct_uint!(U512, 8);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `uint_full_mul_reg`
[INFO] [stdout]     = note: this warning originates in the macro `uint_full_mul_reg` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uint.rs:951:5
[INFO] [stdout]     |
[INFO] [stdout] 951 |                 try!(write!(f, "0x"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 977 | construct_uint!(U512, 8);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uint.rs:958:8
[INFO] [stdout]     |
[INFO] [stdout] 958 |                             try!(write!(f, "{:x}", nibble));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] ...
[INFO] [stdout] 977 | construct_uint!(U512, 8);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/uint.rs:146:71
[INFO] [stdout]     |
[INFO] [stdout] 146 |         uint_full_mul_reg!($name, $n_words, $self_expr, $other, |_, _| true);
[INFO] [stdout]     |                                                                             ^
[INFO] [stdout] ...
[INFO] [stdout] 984 |         U512(uint_full_mul_reg!(U256, 4, self, other))
[INFO] [stdout]     |              ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `uint_full_mul_reg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `core::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/uint.rs:85:39
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 975 | construct_uint!(U128, 2);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `core::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/uint.rs:85:39
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 975 | construct_uint!(U128, 2);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `core::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/uint.rs:85:39
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 976 | construct_uint!(U256, 4);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `core::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/uint.rs:85:39
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 976 | construct_uint!(U256, 4);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `core::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/uint.rs:85:39
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 977 | construct_uint!(U512, 8);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `core::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/uint.rs:85:39
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 977 | construct_uint!(U512, 8);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `alloc` has been stable since 1.36.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:12:52
[INFO] [stdout]    |
[INFO] [stdout] 12 | #![cfg_attr(all(not(feature="std"), test), feature(alloc))]
[INFO] [stdout]    |                                                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 2]` does not permit being left uninitialized
[INFO] [stdout]    --> src/uint.rs:85:26
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 975 | construct_uint!(U128, 2);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 2]` does not permit being left uninitialized
[INFO] [stdout]    --> src/uint.rs:85:26
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 975 | construct_uint!(U128, 2);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 4]` does not permit being left uninitialized
[INFO] [stdout]    --> src/uint.rs:85:26
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 976 | construct_uint!(U256, 4);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 4]` does not permit being left uninitialized
[INFO] [stdout]    --> src/uint.rs:85:26
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 976 | construct_uint!(U256, 4);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 8]` does not permit being left uninitialized
[INFO] [stdout]    --> src/uint.rs:85:26
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 977 | construct_uint!(U512, 8);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 8]` does not permit being left uninitialized
[INFO] [stdout]    --> src/uint.rs:85:26
[INFO] [stdout]     |
[INFO] [stdout] 85  |         let mut ret = unsafe { ::core::mem::uninitialized() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 977 | construct_uint!(U512, 8);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `uint_overflowing_binop` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 23 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 2.67s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bigint v4.4.3 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "cf26a1c255d960a8d212bde67dd0b50b7b8b00947c0ec0d202c355be70b371d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cf26a1c255d960a8d212bde67dd0b50b7b8b00947c0ec0d202c355be70b371d5", kill_on_drop: false }`
[INFO] [stdout] cf26a1c255d960a8d212bde67dd0b50b7b8b00947c0ec0d202c355be70b371d5
