[INFO] fetching crate alloy-sol-types 0.5.2...
[INFO] checking alloy-sol-types-0.5.2 against master#b0696a5160711c068cb1f01b7437db7990d15750 for pr-121848
[INFO] extracting crate alloy-sol-types 0.5.2 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate alloy-sol-types 0.5.2 on toolchain b0696a5160711c068cb1f01b7437db7990d15750
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate alloy-sol-types 0.5.2
[INFO] finished tweaking crates.io crate alloy-sol-types 0.5.2
[INFO] tweaked toml for crates.io crate alloy-sol-types 0.5.2 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded quick-error v1.2.3
[INFO] [stderr]   Downloaded unarray v0.1.4
[INFO] [stderr]   Downloaded impl-serde v0.4.0
[INFO] [stderr]   Downloaded alloy-sol-macro v0.5.4
[INFO] [stderr]   Downloaded alloy-sol-type-parser v0.5.4
[INFO] [stderr]   Downloaded syn-solidity v0.5.4
[INFO] [stderr]   Downloaded rand_xorshift v0.3.0
[INFO] [stderr]   Downloaded parity-scale-codec-derive v3.6.9
[INFO] [stderr]   Downloaded arbitrary v1.3.2
[INFO] [stderr]   Downloaded rlp v0.5.2
[INFO] [stderr]   Downloaded ruint-macro v1.2.0
[INFO] [stderr]   Downloaded impl-trait-for-tuples v0.2.2
[INFO] [stderr]   Downloaded rusty-fork v0.3.0
[INFO] [stderr]   Downloaded derivative v2.2.0
[INFO] [stderr]   Downloaded pest v2.7.8
[INFO] [stderr]   Downloaded proptest v1.4.0
[INFO] [stderr]   Downloaded sha3-asm v0.1.0
[INFO] [stderr]   Downloaded trybuild v1.0.89
[INFO] [stderr]   Downloaded toml_edit v0.20.2
[INFO] [stderr]   Downloaded uint v0.9.5
[INFO] [stderr]   Downloaded ruint v1.12.0
[INFO] [stderr]   Downloaded parity-scale-codec v3.6.9
[INFO] [stderr]   Downloaded hex-literal v0.4.1
[INFO] [stderr]   Downloaded ark-serialize v0.3.0
[INFO] [stderr]   Downloaded ark-ff v0.3.0
[INFO] [stderr]   Downloaded ark-std v0.4.0
[INFO] [stderr]   Downloaded ark-ff v0.4.2
[INFO] [stderr]   Downloaded auto_impl v1.2.0
[INFO] [stderr]   Downloaded fastrlp v0.3.1
[INFO] [stderr]   Downloaded fixed-hash v0.8.0
[INFO] [stderr]   Downloaded alloy-json-abi v0.5.4
[INFO] [stderr]   Downloaded derive_arbitrary v1.3.2
[INFO] [stderr]   Downloaded proptest-derive v0.4.0
[INFO] [stderr]   Downloaded ucd-trie v0.1.6
[INFO] [stderr]   Downloaded ark-ff-asm v0.4.2
[INFO] [stderr]   Downloaded ark-ff-macros v0.4.2
[INFO] [stderr]   Downloaded proc-macro-crate v2.0.2
[INFO] [stderr]   Downloaded ethereum-types v0.14.1
[INFO] [stderr]   Downloaded ark-ff-asm v0.3.0
[INFO] [stderr]   Downloaded ark-std v0.3.0
[INFO] [stderr]   Downloaded ethbloom v0.13.0
[INFO] [stderr]   Downloaded keccak-asm v0.1.0
[INFO] [stderr]   Downloaded primitive-types v0.12.2
[INFO] [stderr]   Downloaded ethereum_ssz v0.5.3
[INFO] [stderr]   Downloaded ark-ff-macros v0.3.0
[INFO] [stderr]   Downloaded alloy-primitives v0.5.4
[INFO] [stderr]   Downloaded const-hex v1.11.3
[INFO] [stderr]   Downloaded alloy-rlp v0.3.4
[INFO] [stderr]   Downloaded ark-serialize v0.4.2
[INFO] [stderr]   Downloaded byte-slice-cast v1.2.2
[INFO] [stderr]   Downloaded impl-codec v0.6.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 702d7f74f56b2547b52d24b8d75e93c1083a37f93f5d8b5fc4f0b385e91ee00a
[INFO] running `Command { std: "docker" "start" "-a" "702d7f74f56b2547b52d24b8d75e93c1083a37f93f5d8b5fc4f0b385e91ee00a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "702d7f74f56b2547b52d24b8d75e93c1083a37f93f5d8b5fc4f0b385e91ee00a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "702d7f74f56b2547b52d24b8d75e93c1083a37f93f5d8b5fc4f0b385e91ee00a", kill_on_drop: false }`
[INFO] [stdout] 702d7f74f56b2547b52d24b8d75e93c1083a37f93f5d8b5fc4f0b385e91ee00a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3eaa740ba2e27638315d02861bb5717deaeebad5399ab327d7599c14cb99da1a
[INFO] running `Command { std: "docker" "start" "-a" "3eaa740ba2e27638315d02861bb5717deaeebad5399ab327d7599c14cb99da1a", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling rustix v0.38.31
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking linux-raw-sys v0.4.13
[INFO] [stderr]     Checking bitflags v2.4.2
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking fastrand v2.0.1
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking wait-timeout v0.2.0
[INFO] [stderr]     Checking unarray v0.1.4
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling ruint-macro v1.2.0
[INFO] [stderr]    Compiling serde_json v1.0.114
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling cpufeatures v0.2.12
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking arbitrary v1.3.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]    Compiling const-hex v1.11.3
[INFO] [stderr]     Checking hex-literal v0.4.1
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling dunce v1.0.4
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling trybuild v1.0.89
[INFO] [stderr]     Checking glob v0.3.1
[INFO] [stderr]     Checking tempfile v3.10.1
[INFO] [stderr]    Compiling syn-solidity v0.5.4
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stderr]     Checking proptest v1.4.0
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling derive_arbitrary v1.3.2
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling proptest-derive v0.4.0
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling alloy-sol-macro v0.5.4
[INFO] [stderr]     Checking ruint v1.12.0
[INFO] [stderr]     Checking bytes v1.5.0
[INFO] [stderr]     Checking basic-toml v0.1.8
[INFO] [stderr]     Checking alloy-primitives v0.5.4
[INFO] [stderr]     Checking alloy-sol-types v0.5.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]   --> src/abi/encoder.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use alloc::vec::Vec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Vec` is already defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]   --> src/abi/decoder.rs:15:26
[INFO] [stdout]    |
[INFO] [stdout] 15 | use alloc::{borrow::Cow, vec::Vec};
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout]   --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]   --> src/abi/token.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use alloc::vec::Vec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Box` is imported redundantly
[INFO] [stdout]   --> src/errors.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 | use alloc::{borrow::Cow, boxed::Box, string::String};
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout]   --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Box` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `String` is imported redundantly
[INFO] [stdout]   --> src/errors.rs:11:38
[INFO] [stdout]    |
[INFO] [stdout] 11 | use alloc::{borrow::Cow, boxed::Box, string::String};
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `String` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]  --> src/impl_core.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use alloc::vec::Vec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]   --> src/types/data_type.rs:12:56
[INFO] [stdout]    |
[INFO] [stdout] 12 | use alloc::{borrow::Cow, string::String as RustString, vec::Vec};
[INFO] [stdout]    |                                                        ^^^^^^^^
[INFO] [stdout]   --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]  --> src/types/enum.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use alloc::vec::Vec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `String` is imported redundantly
[INFO] [stdout]  --> src/types/error.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 |     string::{String, ToString},
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `String` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `ToString` is imported redundantly
[INFO] [stdout]  --> src/types/error.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 |     string::{String, ToString},
[INFO] [stdout]   |                      ^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `ToString` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]  --> src/types/error.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     vec::Vec,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]  --> src/types/event/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use alloc::vec::Vec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]  --> src/types/event/topic.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use alloc::vec::Vec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]  --> src/types/function.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use alloc::vec::Vec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]  --> src/types/interface/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use alloc::vec::Vec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `String` is imported redundantly
[INFO] [stdout]  --> src/types/struct.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use alloc::{borrow::Cow, string::String, vec::Vec};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `String` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]  --> src/types/struct.rs:6:42
[INFO] [stdout]   |
[INFO] [stdout] 6 | use alloc::{borrow::Cow, string::String, vec::Vec};
[INFO] [stdout]   |                                          ^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `String` is imported redundantly
[INFO] [stdout]  --> src/types/value.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 | use alloc::{borrow::Cow, string::String, vec::Vec};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `String` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]  --> src/types/value.rs:8:42
[INFO] [stdout]   |
[INFO] [stdout] 8 | use alloc::{borrow::Cow, string::String, vec::Vec};
[INFO] [stdout]   |                                          ^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]  --> src/types/ty.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use alloc::{borrow::Cow, vec::Vec};
[INFO] [stdout]   |                          ^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `String` is imported redundantly
[INFO] [stdout]  --> src/eip712.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use alloc::{borrow::Cow, string::String, vec::Vec};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `String` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]  --> src/eip712.rs:2:42
[INFO] [stdout]   |
[INFO] [stdout] 2 | use alloc::{borrow::Cow, string::String, vec::Vec};
[INFO] [stdout]   |                                          ^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]   --> src/abi/encoder.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use alloc::vec::Vec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Vec` is already defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `ToOwned` is imported redundantly
[INFO] [stdout]    --> src/abi/encoder.rs:220:17
[INFO] [stdout]     |
[INFO] [stdout] 220 |     use alloc::{borrow::ToOwned, string::ToString, vec::Vec};
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^
[INFO] [stdout]    --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout]     = note: the item `ToOwned` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `ToString` is imported redundantly
[INFO] [stdout]    --> src/abi/encoder.rs:220:34
[INFO] [stdout]     |
[INFO] [stdout] 220 |     use alloc::{borrow::ToOwned, string::ToString, vec::Vec};
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout]    --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout]     = note: the item `ToString` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]    --> src/abi/encoder.rs:220:52
[INFO] [stdout]     |
[INFO] [stdout] 220 |     use alloc::{borrow::ToOwned, string::ToString, vec::Vec};
[INFO] [stdout]     |                                                    ^^^^^^^^
[INFO] [stdout]    --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout]     = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]   --> src/abi/decoder.rs:15:26
[INFO] [stdout]    |
[INFO] [stdout] 15 | use alloc::{borrow::Cow, vec::Vec};
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout]   --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `ToString` is imported redundantly
[INFO] [stdout]    --> src/abi/decoder.rs:310:9
[INFO] [stdout]     |
[INFO] [stdout] 310 |     use alloc::string::ToString;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout]     = note: the item `ToString` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]   --> src/abi/token.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use alloc::vec::Vec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Box` is imported redundantly
[INFO] [stdout]   --> src/errors.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 | use alloc::{borrow::Cow, boxed::Box, string::String};
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout]   --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Box` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `String` is imported redundantly
[INFO] [stdout]   --> src/errors.rs:11:38
[INFO] [stdout]    |
[INFO] [stdout] 11 | use alloc::{borrow::Cow, boxed::Box, string::String};
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `String` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]  --> src/impl_core.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use alloc::vec::Vec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]  --> src/types/enum.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use alloc::vec::Vec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `ToString` is imported redundantly
[INFO] [stdout]  --> src/types/error.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 |     string::{String, ToString},
[INFO] [stdout]   |                      ^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `ToString` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]  --> src/types/error.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     vec::Vec,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]  --> src/types/event/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use alloc::vec::Vec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]  --> src/types/event/topic.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use alloc::vec::Vec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]  --> src/types/function.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use alloc::vec::Vec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `String` is imported redundantly
[INFO] [stdout]  --> src/types/struct.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use alloc::{borrow::Cow, string::String, vec::Vec};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `String` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]  --> src/types/struct.rs:6:42
[INFO] [stdout]   |
[INFO] [stdout] 6 | use alloc::{borrow::Cow, string::String, vec::Vec};
[INFO] [stdout]   |                                          ^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]  --> src/types/ty.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use alloc::{borrow::Cow, vec::Vec};
[INFO] [stdout]   |                          ^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]  --> src/eip712.rs:2:42
[INFO] [stdout]   |
[INFO] [stdout] 2 | use alloc::{borrow::Cow, string::String, vec::Vec};
[INFO] [stdout]   |                                          ^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 22 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> src/types/udt.rs:22:9
[INFO] [stdout]      |
[INFO] [stdout] 22   | /         impl $crate::private::SolTypeValue<$name> for <$underlying as $crate::SolType>::RustType {
[INFO] [stdout] 23   | |             #[inline]
[INFO] [stdout] 24   | |             fn stv_to_tokens(&self) -> <$underlying as $crate::SolType>::Token<'_> {
[INFO] [stdout] 25   | |                 $crate::private::SolTypeValue::<$underlying>::stv_to_tokens(self)
[INFO] [stdout] ...    |
[INFO] [stdout] 36   | |             }
[INFO] [stdout] 37   | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/types/data_type.rs:1162:9
[INFO] [stdout]      |
[INFO] [stdout] 1162 |           udvt_and_assert!([bool], Some(32));
[INFO] [stdout]      |           ---------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current function `udvt_encoded_sizes`
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]      = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]      = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]      = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]      = note: this warning originates in the macro `$crate::define_udt` which comes from the expansion of the macro `udvt_and_assert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> src/types/udt.rs:22:9
[INFO] [stdout]      |
[INFO] [stdout] 22   | /         impl $crate::private::SolTypeValue<$name> for <$underlying as $crate::SolType>::RustType {
[INFO] [stdout] 23   | |             #[inline]
[INFO] [stdout] 24   | |             fn stv_to_tokens(&self) -> <$underlying as $crate::SolType>::Token<'_> {
[INFO] [stdout] 25   | |                 $crate::private::SolTypeValue::<$underlying>::stv_to_tokens(self)
[INFO] [stdout] ...    |
[INFO] [stdout] 36   | |             }
[INFO] [stdout] 37   | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/types/data_type.rs:1164:9
[INFO] [stdout]      |
[INFO] [stdout] 1164 |           udvt_and_assert!([uint8], Some(32));
[INFO] [stdout]      |           ----------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current function `udvt_encoded_sizes`
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]      = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]      = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::define_udt` which comes from the expansion of the macro `udvt_and_assert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> src/types/udt.rs:22:9
[INFO] [stdout]      |
[INFO] [stdout] 22   | /         impl $crate::private::SolTypeValue<$name> for <$underlying as $crate::SolType>::RustType {
[INFO] [stdout] 23   | |             #[inline]
[INFO] [stdout] 24   | |             fn stv_to_tokens(&self) -> <$underlying as $crate::SolType>::Token<'_> {
[INFO] [stdout] 25   | |                 $crate::private::SolTypeValue::<$underlying>::stv_to_tokens(self)
[INFO] [stdout] ...    |
[INFO] [stdout] 36   | |             }
[INFO] [stdout] 37   | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/types/data_type.rs:1165:9
[INFO] [stdout]      |
[INFO] [stdout] 1165 |           udvt_and_assert!([int8], Some(32));
[INFO] [stdout]      |           ---------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current function `udvt_encoded_sizes`
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]      = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]      = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::define_udt` which comes from the expansion of the macro `udvt_and_assert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> src/types/udt.rs:22:9
[INFO] [stdout]      |
[INFO] [stdout] 22   | /         impl $crate::private::SolTypeValue<$name> for <$underlying as $crate::SolType>::RustType {
[INFO] [stdout] 23   | |             #[inline]
[INFO] [stdout] 24   | |             fn stv_to_tokens(&self) -> <$underlying as $crate::SolType>::Token<'_> {
[INFO] [stdout] 25   | |                 $crate::private::SolTypeValue::<$underlying>::stv_to_tokens(self)
[INFO] [stdout] ...    |
[INFO] [stdout] 36   | |             }
[INFO] [stdout] 37   | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/types/data_type.rs:1166:9
[INFO] [stdout]      |
[INFO] [stdout] 1166 |           udvt_and_assert!([uint16], Some(32));
[INFO] [stdout]      |           ------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current function `udvt_encoded_sizes`
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]      = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]      = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::define_udt` which comes from the expansion of the macro `udvt_and_assert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> src/types/udt.rs:22:9
[INFO] [stdout]      |
[INFO] [stdout] 22   | /         impl $crate::private::SolTypeValue<$name> for <$underlying as $crate::SolType>::RustType {
[INFO] [stdout] 23   | |             #[inline]
[INFO] [stdout] 24   | |             fn stv_to_tokens(&self) -> <$underlying as $crate::SolType>::Token<'_> {
[INFO] [stdout] 25   | |                 $crate::private::SolTypeValue::<$underlying>::stv_to_tokens(self)
[INFO] [stdout] ...    |
[INFO] [stdout] 36   | |             }
[INFO] [stdout] 37   | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/types/data_type.rs:1167:9
[INFO] [stdout]      |
[INFO] [stdout] 1167 |           udvt_and_assert!([int16], Some(32));
[INFO] [stdout]      |           ----------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current function `udvt_encoded_sizes`
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]      = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]      = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::define_udt` which comes from the expansion of the macro `udvt_and_assert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> src/types/udt.rs:22:9
[INFO] [stdout]      |
[INFO] [stdout] 22   | /         impl $crate::private::SolTypeValue<$name> for <$underlying as $crate::SolType>::RustType {
[INFO] [stdout] 23   | |             #[inline]
[INFO] [stdout] 24   | |             fn stv_to_tokens(&self) -> <$underlying as $crate::SolType>::Token<'_> {
[INFO] [stdout] 25   | |                 $crate::private::SolTypeValue::<$underlying>::stv_to_tokens(self)
[INFO] [stdout] ...    |
[INFO] [stdout] 36   | |             }
[INFO] [stdout] 37   | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/types/data_type.rs:1168:9
[INFO] [stdout]      |
[INFO] [stdout] 1168 |           udvt_and_assert!([uint32], Some(32));
[INFO] [stdout]      |           ------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current function `udvt_encoded_sizes`
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]      = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]      = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::define_udt` which comes from the expansion of the macro `udvt_and_assert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> src/types/udt.rs:22:9
[INFO] [stdout]      |
[INFO] [stdout] 22   | /         impl $crate::private::SolTypeValue<$name> for <$underlying as $crate::SolType>::RustType {
[INFO] [stdout] 23   | |             #[inline]
[INFO] [stdout] 24   | |             fn stv_to_tokens(&self) -> <$underlying as $crate::SolType>::Token<'_> {
[INFO] [stdout] 25   | |                 $crate::private::SolTypeValue::<$underlying>::stv_to_tokens(self)
[INFO] [stdout] ...    |
[INFO] [stdout] 36   | |             }
[INFO] [stdout] 37   | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/types/data_type.rs:1169:9
[INFO] [stdout]      |
[INFO] [stdout] 1169 |           udvt_and_assert!([int32], Some(32));
[INFO] [stdout]      |           ----------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current function `udvt_encoded_sizes`
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]      = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]      = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::define_udt` which comes from the expansion of the macro `udvt_and_assert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> src/types/udt.rs:22:9
[INFO] [stdout]      |
[INFO] [stdout] 22   | /         impl $crate::private::SolTypeValue<$name> for <$underlying as $crate::SolType>::RustType {
[INFO] [stdout] 23   | |             #[inline]
[INFO] [stdout] 24   | |             fn stv_to_tokens(&self) -> <$underlying as $crate::SolType>::Token<'_> {
[INFO] [stdout] 25   | |                 $crate::private::SolTypeValue::<$underlying>::stv_to_tokens(self)
[INFO] [stdout] ...    |
[INFO] [stdout] 36   | |             }
[INFO] [stdout] 37   | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/types/data_type.rs:1170:9
[INFO] [stdout]      |
[INFO] [stdout] 1170 |           udvt_and_assert!([uint64], Some(32));
[INFO] [stdout]      |           ------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current function `udvt_encoded_sizes`
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]      = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]      = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::define_udt` which comes from the expansion of the macro `udvt_and_assert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> src/types/udt.rs:22:9
[INFO] [stdout]      |
[INFO] [stdout] 22   | /         impl $crate::private::SolTypeValue<$name> for <$underlying as $crate::SolType>::RustType {
[INFO] [stdout] 23   | |             #[inline]
[INFO] [stdout] 24   | |             fn stv_to_tokens(&self) -> <$underlying as $crate::SolType>::Token<'_> {
[INFO] [stdout] 25   | |                 $crate::private::SolTypeValue::<$underlying>::stv_to_tokens(self)
[INFO] [stdout] ...    |
[INFO] [stdout] 36   | |             }
[INFO] [stdout] 37   | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/types/data_type.rs:1171:9
[INFO] [stdout]      |
[INFO] [stdout] 1171 |           udvt_and_assert!([int64], Some(32));
[INFO] [stdout]      |           ----------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current function `udvt_encoded_sizes`
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]      = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]      = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::define_udt` which comes from the expansion of the macro `udvt_and_assert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> src/types/udt.rs:22:9
[INFO] [stdout]      |
[INFO] [stdout] 22   | /         impl $crate::private::SolTypeValue<$name> for <$underlying as $crate::SolType>::RustType {
[INFO] [stdout] 23   | |             #[inline]
[INFO] [stdout] 24   | |             fn stv_to_tokens(&self) -> <$underlying as $crate::SolType>::Token<'_> {
[INFO] [stdout] 25   | |                 $crate::private::SolTypeValue::<$underlying>::stv_to_tokens(self)
[INFO] [stdout] ...    |
[INFO] [stdout] 36   | |             }
[INFO] [stdout] 37   | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/types/data_type.rs:1172:9
[INFO] [stdout]      |
[INFO] [stdout] 1172 |           udvt_and_assert!([uint128], Some(32));
[INFO] [stdout]      |           ------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current function `udvt_encoded_sizes`
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]      = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]      = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::define_udt` which comes from the expansion of the macro `udvt_and_assert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> src/types/udt.rs:22:9
[INFO] [stdout]      |
[INFO] [stdout] 22   | /         impl $crate::private::SolTypeValue<$name> for <$underlying as $crate::SolType>::RustType {
[INFO] [stdout] 23   | |             #[inline]
[INFO] [stdout] 24   | |             fn stv_to_tokens(&self) -> <$underlying as $crate::SolType>::Token<'_> {
[INFO] [stdout] 25   | |                 $crate::private::SolTypeValue::<$underlying>::stv_to_tokens(self)
[INFO] [stdout] ...    |
[INFO] [stdout] 36   | |             }
[INFO] [stdout] 37   | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/types/data_type.rs:1173:9
[INFO] [stdout]      |
[INFO] [stdout] 1173 |           udvt_and_assert!([int128], Some(32));
[INFO] [stdout]      |           ------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current function `udvt_encoded_sizes`
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]      = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]      = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::define_udt` which comes from the expansion of the macro `udvt_and_assert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> src/types/udt.rs:22:9
[INFO] [stdout]      |
[INFO] [stdout] 22   | /         impl $crate::private::SolTypeValue<$name> for <$underlying as $crate::SolType>::RustType {
[INFO] [stdout] 23   | |             #[inline]
[INFO] [stdout] 24   | |             fn stv_to_tokens(&self) -> <$underlying as $crate::SolType>::Token<'_> {
[INFO] [stdout] 25   | |                 $crate::private::SolTypeValue::<$underlying>::stv_to_tokens(self)
[INFO] [stdout] ...    |
[INFO] [stdout] 36   | |             }
[INFO] [stdout] 37   | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/types/data_type.rs:1174:9
[INFO] [stdout]      |
[INFO] [stdout] 1174 |           udvt_and_assert!([uint256], Some(32));
[INFO] [stdout]      |           ------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current function `udvt_encoded_sizes`
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]      = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]      = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::define_udt` which comes from the expansion of the macro `udvt_and_assert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> src/types/udt.rs:22:9
[INFO] [stdout]      |
[INFO] [stdout] 22   | /         impl $crate::private::SolTypeValue<$name> for <$underlying as $crate::SolType>::RustType {
[INFO] [stdout] 23   | |             #[inline]
[INFO] [stdout] 24   | |             fn stv_to_tokens(&self) -> <$underlying as $crate::SolType>::Token<'_> {
[INFO] [stdout] 25   | |                 $crate::private::SolTypeValue::<$underlying>::stv_to_tokens(self)
[INFO] [stdout] ...    |
[INFO] [stdout] 36   | |             }
[INFO] [stdout] 37   | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/types/data_type.rs:1175:9
[INFO] [stdout]      |
[INFO] [stdout] 1175 |           udvt_and_assert!([int256], Some(32));
[INFO] [stdout]      |           ------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current function `udvt_encoded_sizes`
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]      = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]      = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::define_udt` which comes from the expansion of the macro `udvt_and_assert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> src/types/udt.rs:22:9
[INFO] [stdout]      |
[INFO] [stdout] 22   | /         impl $crate::private::SolTypeValue<$name> for <$underlying as $crate::SolType>::RustType {
[INFO] [stdout] 23   | |             #[inline]
[INFO] [stdout] 24   | |             fn stv_to_tokens(&self) -> <$underlying as $crate::SolType>::Token<'_> {
[INFO] [stdout] 25   | |                 $crate::private::SolTypeValue::<$underlying>::stv_to_tokens(self)
[INFO] [stdout] ...    |
[INFO] [stdout] 36   | |             }
[INFO] [stdout] 37   | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/types/data_type.rs:1177:9
[INFO] [stdout]      |
[INFO] [stdout] 1177 |           udvt_and_assert!([address], Some(32));
[INFO] [stdout]      |           ------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current function `udvt_encoded_sizes`
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]      = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]      = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::define_udt` which comes from the expansion of the macro `udvt_and_assert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> src/types/udt.rs:22:9
[INFO] [stdout]      |
[INFO] [stdout] 22   | /         impl $crate::private::SolTypeValue<$name> for <$underlying as $crate::SolType>::RustType {
[INFO] [stdout] 23   | |             #[inline]
[INFO] [stdout] 24   | |             fn stv_to_tokens(&self) -> <$underlying as $crate::SolType>::Token<'_> {
[INFO] [stdout] 25   | |                 $crate::private::SolTypeValue::<$underlying>::stv_to_tokens(self)
[INFO] [stdout] ...    |
[INFO] [stdout] 36   | |             }
[INFO] [stdout] 37   | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/types/data_type.rs:1178:9
[INFO] [stdout]      |
[INFO] [stdout] 1178 |           udvt_and_assert!([function()], Some(32));
[INFO] [stdout]      |           ---------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current function `udvt_encoded_sizes`
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]      = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]      = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::define_udt` which comes from the expansion of the macro `udvt_and_assert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> src/types/udt.rs:22:9
[INFO] [stdout]      |
[INFO] [stdout] 22   | /         impl $crate::private::SolTypeValue<$name> for <$underlying as $crate::SolType>::RustType {
[INFO] [stdout] 23   | |             #[inline]
[INFO] [stdout] 24   | |             fn stv_to_tokens(&self) -> <$underlying as $crate::SolType>::Token<'_> {
[INFO] [stdout] 25   | |                 $crate::private::SolTypeValue::<$underlying>::stv_to_tokens(self)
[INFO] [stdout] ...    |
[INFO] [stdout] 36   | |             }
[INFO] [stdout] 37   | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/types/data_type.rs:1179:9
[INFO] [stdout]      |
[INFO] [stdout] 1179 |           udvt_and_assert!([bytes1], Some(32));
[INFO] [stdout]      |           ------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current function `udvt_encoded_sizes`
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]      = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]      = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::define_udt` which comes from the expansion of the macro `udvt_and_assert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> src/types/udt.rs:22:9
[INFO] [stdout]      |
[INFO] [stdout] 22   | /         impl $crate::private::SolTypeValue<$name> for <$underlying as $crate::SolType>::RustType {
[INFO] [stdout] 23   | |             #[inline]
[INFO] [stdout] 24   | |             fn stv_to_tokens(&self) -> <$underlying as $crate::SolType>::Token<'_> {
[INFO] [stdout] 25   | |                 $crate::private::SolTypeValue::<$underlying>::stv_to_tokens(self)
[INFO] [stdout] ...    |
[INFO] [stdout] 36   | |             }
[INFO] [stdout] 37   | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/types/data_type.rs:1180:9
[INFO] [stdout]      |
[INFO] [stdout] 1180 |           udvt_and_assert!([bytes16], Some(32));
[INFO] [stdout]      |           ------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current function `udvt_encoded_sizes`
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]      = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]      = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::define_udt` which comes from the expansion of the macro `udvt_and_assert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> src/types/udt.rs:22:9
[INFO] [stdout]      |
[INFO] [stdout] 22   | /         impl $crate::private::SolTypeValue<$name> for <$underlying as $crate::SolType>::RustType {
[INFO] [stdout] 23   | |             #[inline]
[INFO] [stdout] 24   | |             fn stv_to_tokens(&self) -> <$underlying as $crate::SolType>::Token<'_> {
[INFO] [stdout] 25   | |                 $crate::private::SolTypeValue::<$underlying>::stv_to_tokens(self)
[INFO] [stdout] ...    |
[INFO] [stdout] 36   | |             }
[INFO] [stdout] 37   | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/types/data_type.rs:1181:9
[INFO] [stdout]      |
[INFO] [stdout] 1181 |           udvt_and_assert!([bytes32], Some(32));
[INFO] [stdout]      |           ------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current function `udvt_encoded_sizes`
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]      = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]      = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::define_udt` which comes from the expansion of the macro `udvt_and_assert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 38 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.14s
[INFO] running `Command { std: "docker" "inspect" "3eaa740ba2e27638315d02861bb5717deaeebad5399ab327d7599c14cb99da1a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3eaa740ba2e27638315d02861bb5717deaeebad5399ab327d7599c14cb99da1a", kill_on_drop: false }`
[INFO] [stdout] 3eaa740ba2e27638315d02861bb5717deaeebad5399ab327d7599c14cb99da1a
