[INFO] fetching crate parity-scale-codec 3.7.5...
[INFO] testing parity-scale-codec-3.7.5 against 1.91.0 for beta-1.92-2
[INFO] extracting crate parity-scale-codec 3.7.5 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate parity-scale-codec 3.7.5
[INFO] finished tweaking crates.io crate parity-scale-codec 3.7.5
[INFO] tweaked toml for crates.io crate parity-scale-codec 3.7.5 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate parity-scale-codec 3.7.5 on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 128 packages to latest compatible versions
[INFO] [stderr]       Adding criterion v0.5.1 (available: v0.7.0)
[INFO] [stderr]       Adding generic-array v0.14.9 (available: v1.3.5)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8aad696ca917df20697ac9ea7f1f862d7c8c5b5837dabaaa4b0abdcc780216ac
[INFO] running `Command { std: "docker" "start" "-a" "8aad696ca917df20697ac9ea7f1f862d7c8c5b5837dabaaa4b0abdcc780216ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8aad696ca917df20697ac9ea7f1f862d7c8c5b5837dabaaa4b0abdcc780216ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8aad696ca917df20697ac9ea7f1f862d7c8c5b5837dabaaa4b0abdcc780216ac", kill_on_drop: false }`
[INFO] [stdout] 8aad696ca917df20697ac9ea7f1f862d7c8c5b5837dabaaa4b0abdcc780216ac
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 33f5481f78f4b4c740658d8caf846622eec9b843a99f14c7562dc9226112f6fa
[INFO] running `Command { std: "docker" "start" "-a" "33f5481f78f4b4c740658d8caf846622eec9b843a99f14c7562dc9226112f6fa", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.34
[INFO] [stderr]    Compiling parity-scale-codec v3.7.5 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling impl-trait-for-tuples v0.2.3
[INFO] [stderr]    Compiling const_format v0.2.35
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.98s
[INFO] running `Command { std: "docker" "inspect" "33f5481f78f4b4c740658d8caf846622eec9b843a99f14c7562dc9226112f6fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "33f5481f78f4b4c740658d8caf846622eec9b843a99f14c7562dc9226112f6fa", kill_on_drop: false }`
[INFO] [stdout] 33f5481f78f4b4c740658d8caf846622eec9b843a99f14c7562dc9226112f6fa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3645bc1e10301fd5816a2c64df0f1d8943ad32ed9945068678dcd3a6bc8979ee
[INFO] running `Command { std: "docker" "start" "-a" "3645bc1e10301fd5816a2c64df0f1d8943ad32ed9945068678dcd3a6bc8979ee", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy-derive v0.8.27
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling target-triple v1.0.0
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling clap_builder v4.5.51
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stderr]    Compiling serde_spanned v1.0.3
[INFO] [stderr]    Compiling toml_datetime v0.7.3
[INFO] [stderr]    Compiling toml_writer v1.0.4
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling enumflags2 v0.7.12
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling clap v4.5.51
[INFO] [stderr]    Compiling toml_parser v1.0.4
[INFO] [stderr]    Compiling toml v0.9.8
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling parity-scale-codec v3.7.5 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling env_logger v0.8.4
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling trybuild v1.0.113
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling quickcheck v1.0.3
[INFO] [stderr]    Compiling proptest v1.9.0
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stdout] error[E0432]: unresolved import `parity_scale_codec_derive`
[INFO] [stdout]  --> tests/size_hint.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use parity_scale_codec_derive::Encode as DeriveEncode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `parity_scale_codec_derive`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 2 - use parity_scale_codec_derive::Encode as DeriveEncode;
[INFO] [stdout] 2 + use parity_scale_codec::Encode as DeriveEncode;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `parity_scale_codec_derive`
[INFO] [stdout]   --> tests/bounds.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use parity_scale_codec_derive::{Decode as DeriveDecode, Encode as DeriveEncode};
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `parity_scale_codec_derive`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 16 - use parity_scale_codec_derive::{Decode as DeriveDecode, Encode as DeriveEncode};
[INFO] [stdout] 16 + use parity_scale_codec::{Decode as DeriveDecode, Encode as DeriveEncode};
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `parity_scale_codec_derive`
[INFO] [stdout]  --> tests/variant_number.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use parity_scale_codec_derive::Encode as DeriveEncode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `parity_scale_codec_derive`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 2 - use parity_scale_codec_derive::Encode as DeriveEncode;
[INFO] [stdout] 2 + use parity_scale_codec::Encode as DeriveEncode;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `parity_scale_codec_derive`
[INFO] [stdout]   --> tests/bitflags.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use parity_scale_codec_derive::{Decode, Encode};
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `parity_scale_codec_derive`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 15 - use parity_scale_codec_derive::{Decode, Encode};
[INFO] [stdout] 15 + use parity_scale_codec::{Decode, Encode};
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `parity_scale_codec_derive`
[INFO] [stdout]   --> tests/mem_tracking.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use parity_scale_codec_derive::{
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `parity_scale_codec_derive`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 24 - use parity_scale_codec_derive::{
[INFO] [stdout] 24 + use parity_scale_codec::{
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `parity_scale_codec_derive`
[INFO] [stdout]  --> tests/single_field_struct_encoding.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use parity_scale_codec_derive::{
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `parity_scale_codec_derive`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 2 - use parity_scale_codec_derive::{
[INFO] [stdout] 2 + use parity_scale_codec::{
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `parity_scale_codec_derive`
[INFO] [stdout]  --> tests/skip.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use parity_scale_codec_derive::{
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `parity_scale_codec_derive`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 2 - use parity_scale_codec_derive::{
[INFO] [stdout] 2 + use parity_scale_codec::{
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `parity_scale_codec_derive`
[INFO] [stdout]   --> tests/skip.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 |     use parity_scale_codec_derive::{
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `parity_scale_codec_derive`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 15 -     use parity_scale_codec_derive::{
[INFO] [stdout] 15 +     use parity_scale_codec::{
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `parity_scale_codec_derive`
[INFO] [stdout]   --> tests/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use parity_scale_codec_derive::{
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `parity_scale_codec_derive`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 21 - use parity_scale_codec_derive::{
[INFO] [stdout] 21 + use parity_scale_codec::{
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]  --> tests/variant_number.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |         #[codec(skip)]
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/size_hint.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |         #[codec(skip)]
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `parity_scale_codec_derive`
[INFO] [stdout]   --> tests/clippy.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use parity_scale_codec_derive::{Decode, DecodeWithMemTracking, Encode};
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `parity_scale_codec_derive`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 19 - use parity_scale_codec_derive::{Decode, DecodeWithMemTracking, Encode};
[INFO] [stdout] 19 + use parity_scale_codec::{Decode, DecodeWithMemTracking, Encode};
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/bounds.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |         #[codec(compact)]
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/size_hint.rs:21:35
[INFO] [stdout]    |
[INFO] [stdout] 21 |     struct Tuple(String, Vec<i32>, #[codec(skip)] u32);
[INFO] [stdout]    |                                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/size_hint.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |         #[codec(index = 15)]
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `parity-scale-codec` (test "clippy") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0432]: unresolved import `parity_scale_codec_derive`
[INFO] [stdout]   --> tests/chain-error.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use parity_scale_codec_derive::Decode as DeriveDecode;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `parity_scale_codec_derive`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 16 - use parity_scale_codec_derive::Decode as DeriveDecode;
[INFO] [stdout] 16 + use parity_scale_codec::Decode as DeriveDecode;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `parity-scale-codec` (test "bitflags") due to 1 previous error
[INFO] [stdout] error[E0277]: the trait bound `Header<Number>: Decode` is not satisfied
[INFO] [stdout]   --> tests/bounds.rs:28:47
[INFO] [stdout]    |
[INFO] [stdout] 28 |     impl<Number: HasCompact> _IsEncodeDecode for Header<Number> {}
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `WrapperTypeDecode` is not implemented for `Header<Number>`
[INFO] [stdout]   --> tests/bounds.rs:21:2
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub struct Header<Number> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = help: the following other types implement trait `WrapperTypeDecode`:
[INFO] [stdout]              Arc<T>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              Rc<T>
[INFO] [stdout]    = note: required for `Header<Number>` to implement `Decode`
[INFO] [stdout] note: required by a bound in `_IsEncodeDecode`
[INFO] [stdout]   --> tests/bounds.rs:26:34
[INFO] [stdout]    |
[INFO] [stdout] 26 |     trait _IsEncodeDecode: Encode + Decode {}
[INFO] [stdout]    |                                     ^^^^^^ required by this bound in `_IsEncodeDecode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Header<Number>: Encode` is not satisfied
[INFO] [stdout]   --> tests/bounds.rs:28:47
[INFO] [stdout]    |
[INFO] [stdout] 28 |     impl<Number: HasCompact> _IsEncodeDecode for Header<Number> {}
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `WrapperTypeEncode` is not implemented for `Header<Number>`
[INFO] [stdout]   --> tests/bounds.rs:21:2
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub struct Header<Number> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = help: the following other types implement trait `WrapperTypeEncode`:
[INFO] [stdout]              &T
[INFO] [stdout]              &mut T
[INFO] [stdout]              Arc<T>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              Cow<'_, T>
[INFO] [stdout]              Rc<T>
[INFO] [stdout]              String
[INFO] [stdout]              Vec<T>
[INFO] [stdout]              parity_scale_codec::Ref<'_, T, U>
[INFO] [stdout]    = note: required for `Header<Number>` to implement `Encode`
[INFO] [stdout] note: required by a bound in `_IsEncodeDecode`
[INFO] [stdout]   --> tests/bounds.rs:26:25
[INFO] [stdout]    |
[INFO] [stdout] 26 |     trait _IsEncodeDecode: Encode + Decode {}
[INFO] [stdout]    |                            ^^^^^^ required by this bound in `_IsEncodeDecode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/skip.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |         #[codec(skip)]
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/mod.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 |     #[codec(index = 15)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/skip.rs:24:6
[INFO] [stdout]    |
[INFO] [stdout] 24 |             #[codec(skip)]
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `parity-scale-codec` (test "bounds") due to 4 previous errors
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/mod.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 |     #[codec(encoded_as = "<T as HasCompact>::Type")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/mod.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 |     #[codec(compact)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `size_hint` exists for struct `Struct<String, Vec<i32>, u32>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/size_hint.rs:15:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |     struct Struct<A, B, C> {
[INFO] [stdout]     |     ---------------------- method `size_hint` not found for this struct because it doesn't satisfy `<_ as Deref>::Target = _`, `Struct<String, Vec<i32>, u32>: Encode` or `Struct<String, Vec<i32>, u32>: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout]  15 |     assert_eq!(v.size_hint(), 23);
[INFO] [stdout]     |                  ^^^^^^^^^ method cannot be called on `Struct<String, Vec<i32>, u32>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Struct<String, Vec<i32>, u32> as Deref>::Target = _`
[INFO] [stdout]             which is required by `Struct<String, Vec<i32>, u32>: Encode`
[INFO] [stdout]             `Struct<String, Vec<i32>, u32>: WrapperTypeEncode`
[INFO] [stdout]             which is required by `Struct<String, Vec<i32>, u32>: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `size_hint`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout]             candidate #2: `Iterator`
[INFO] [stdout]             candidate #3: `serde_core::de::MapAccess`
[INFO] [stdout]             candidate #4: `serde_core::de::SeqAccess`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/skip.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 |         C(#[codec(skip)] T, u32),
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/skip.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |         #[codec(skip)]
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/skip.rs:39:42
[INFO] [stdout]    |
[INFO] [stdout] 39 |     struct StructUnnamed<T = UncodecType>(#[codec(skip)] T, u32);
[INFO] [stdout]    |                                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/mod.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |     Unnamed(#[codec(encoded_as = "<T as HasCompact>::Type")] T),
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for enum `T`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/variant_number.rs:13:18
[INFO] [stdout]     |
[INFO] [stdout]   7 |     enum T {
[INFO] [stdout]     |     ------ method `encode` not found for this enum because it doesn't satisfy `<T as Deref>::Target = _`, `T: Encode` or `T: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout]  13 |     assert_eq!(T::A.encode(), vec![]);
[INFO] [stdout]     |                     ^^^^^^ method cannot be called on `T` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<T as Deref>::Target = _`
[INFO] [stdout]             which is required by `T: Encode`
[INFO] [stdout]             `T: WrapperTypeEncode`
[INFO] [stdout]             which is required by `T: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/mod.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |         #[codec(encoded_as = "<T as HasCompact>::Type")]
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ComplexStruct: DecodeWithMemTracking` is not satisfied
[INFO] [stdout]    --> tests/mem_tracking.rs:117:3
[INFO] [stdout]     |
[INFO] [stdout] 116 |       assert!(decode_object(
[INFO] [stdout]     |               ------------- required by a bound introduced by this call
[INFO] [stdout] 117 | /         ComplexStruct {
[INFO] [stdout] 118 | |             test_enum: TestEnum::Array([0; 1000]),
[INFO] [stdout] 119 | |             boxed_test_enum: Box::new(TestEnum::Empty),
[INFO] [stdout] 120 | |             box_field: Box::new(1),
[INFO] [stdout] 121 | |             vec: vec![1; 10],
[INFO] [stdout] 122 | |         },
[INFO] [stdout]     | |_________^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `DecodeWithMemTracking` is not implemented for `ComplexStruct`
[INFO] [stdout]    --> tests/mem_tracking.rs:39:1
[INFO] [stdout]     |
[INFO] [stdout]  39 | struct ComplexStruct {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `DecodeWithMemTracking`:
[INFO] [stdout]               ()
[INFO] [stdout]               (TupleElement0, TupleElement1)
[INFO] [stdout]               (TupleElement0, TupleElement1, TupleElement2)
[INFO] [stdout]               (TupleElement0, TupleElement1, TupleElement2, TupleElement3)
[INFO] [stdout]               (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4)
[INFO] [stdout]               (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)
[INFO] [stdout]               (TupleElement0, TupleElement1, TupleElement2, ..., ..., ..., ...)
[INFO] [stdout]               (TupleElement0, TupleElement1, TupleElement2, ..., ..., ..., ..., ...)
[INFO] [stdout]             and 60 others
[INFO] [stdout] note: required by a bound in `decode_object`
[INFO] [stdout]    --> tests/mem_tracking.rs:48:14
[INFO] [stdout]     |
[INFO] [stdout]  46 | fn decode_object<T>(obj: T, mem_limit: usize, expected_used_mem: usize) -> Result<T, Error>
[INFO] [stdout]     |    ------------- required by a bound in this function
[INFO] [stdout]  47 | where
[INFO] [stdout]  48 |     T: Encode + DecodeWithMemTracking + DecodeWithMemLimit + PartialEq + Debug,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `decode_object`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mem_tracking-6d19c0879e1ce467.long-type-4320631861690210465.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/skip.rs:69:6
[INFO] [stdout]    |
[INFO] [stdout] 69 |             #[codec(skip)]
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ComplexStruct: Encode` is not satisfied
[INFO] [stdout]    --> tests/mem_tracking.rs:117:3
[INFO] [stdout]     |
[INFO] [stdout] 116 |       assert!(decode_object(
[INFO] [stdout]     |               ------------- required by a bound introduced by this call
[INFO] [stdout] 117 | /         ComplexStruct {
[INFO] [stdout] 118 | |             test_enum: TestEnum::Array([0; 1000]),
[INFO] [stdout] 119 | |             boxed_test_enum: Box::new(TestEnum::Empty),
[INFO] [stdout] 120 | |             box_field: Box::new(1),
[INFO] [stdout] 121 | |             vec: vec![1; 10],
[INFO] [stdout] 122 | |         },
[INFO] [stdout]     | |_________^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `WrapperTypeEncode` is not implemented for `ComplexStruct`
[INFO] [stdout]    --> tests/mem_tracking.rs:39:1
[INFO] [stdout]     |
[INFO] [stdout]  39 | struct ComplexStruct {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `WrapperTypeEncode`:
[INFO] [stdout]               &T
[INFO] [stdout]               &mut T
[INFO] [stdout]               Arc<T>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Cow<'_, T>
[INFO] [stdout]               Rc<T>
[INFO] [stdout]               String
[INFO] [stdout]               Vec<T>
[INFO] [stdout]               parity_scale_codec::Ref<'_, T, U>
[INFO] [stdout]     = note: required for `ComplexStruct` to implement `Encode`
[INFO] [stdout] note: required by a bound in `decode_object`
[INFO] [stdout]    --> tests/mem_tracking.rs:48:5
[INFO] [stdout]     |
[INFO] [stdout]  46 | fn decode_object<T>(obj: T, mem_limit: usize, expected_used_mem: usize) -> Result<T, Error>
[INFO] [stdout]     |    ------------- required by a bound in this function
[INFO] [stdout]  47 | where
[INFO] [stdout]  48 |     T: Encode + DecodeWithMemTracking + DecodeWithMemLimit + PartialEq + Debug,
[INFO] [stdout]     |        ^^^^^^ required by this bound in `decode_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/mod.rs:95:19
[INFO] [stdout]    |
[INFO] [stdout] 95 |     UnnamedCompact(#[codec(compact)] T),
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ComplexStruct: DecodeWithMemTracking` is not satisfied
[INFO] [stdout]    --> tests/mem_tracking.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 139 |           decode_object(
[INFO] [stdout]     |           ------------- required by a bound introduced by this call
[INFO] [stdout] 140 | /             ComplexStruct {
[INFO] [stdout] 141 | |                 test_enum: TestEnum::Array([0; 1000]),
[INFO] [stdout] 142 | |                 boxed_test_enum: Box::new(TestEnum::Empty),
[INFO] [stdout] 143 | |                 box_field: Box::new(1),
[INFO] [stdout] 144 | |                 vec: vec![1; 10],
[INFO] [stdout] 145 | |             },
[INFO] [stdout]     | |_____________^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `DecodeWithMemTracking` is not implemented for `ComplexStruct`
[INFO] [stdout]    --> tests/mem_tracking.rs:39:1
[INFO] [stdout]     |
[INFO] [stdout]  39 | struct ComplexStruct {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `DecodeWithMemTracking`:
[INFO] [stdout]               ()
[INFO] [stdout]               (TupleElement0, TupleElement1)
[INFO] [stdout]               (TupleElement0, TupleElement1, TupleElement2)
[INFO] [stdout]               (TupleElement0, TupleElement1, TupleElement2, TupleElement3)
[INFO] [stdout]               (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4)
[INFO] [stdout]               (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)
[INFO] [stdout]               (TupleElement0, TupleElement1, TupleElement2, ..., ..., ..., ...)
[INFO] [stdout]               (TupleElement0, TupleElement1, TupleElement2, ..., ..., ..., ..., ...)
[INFO] [stdout]             and 60 others
[INFO] [stdout] note: required by a bound in `decode_object`
[INFO] [stdout]    --> tests/mem_tracking.rs:48:14
[INFO] [stdout]     |
[INFO] [stdout]  46 | fn decode_object<T>(obj: T, mem_limit: usize, expected_used_mem: usize) -> Result<T, Error>
[INFO] [stdout]     |    ------------- required by a bound in this function
[INFO] [stdout]  47 | where
[INFO] [stdout]  48 |     T: Encode + DecodeWithMemTracking + DecodeWithMemLimit + PartialEq + Debug,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `decode_object`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mem_tracking-6d19c0879e1ce467.long-type-4320631861690210465.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ComplexStruct: Encode` is not satisfied
[INFO] [stdout]    --> tests/mem_tracking.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 139 |           decode_object(
[INFO] [stdout]     |           ------------- required by a bound introduced by this call
[INFO] [stdout] 140 | /             ComplexStruct {
[INFO] [stdout] 141 | |                 test_enum: TestEnum::Array([0; 1000]),
[INFO] [stdout] 142 | |                 boxed_test_enum: Box::new(TestEnum::Empty),
[INFO] [stdout] 143 | |                 box_field: Box::new(1),
[INFO] [stdout] 144 | |                 vec: vec![1; 10],
[INFO] [stdout] 145 | |             },
[INFO] [stdout]     | |_____________^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `WrapperTypeEncode` is not implemented for `ComplexStruct`
[INFO] [stdout]    --> tests/mem_tracking.rs:39:1
[INFO] [stdout]     |
[INFO] [stdout]  39 | struct ComplexStruct {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `WrapperTypeEncode`:
[INFO] [stdout]               &T
[INFO] [stdout]               &mut T
[INFO] [stdout]               Arc<T>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Cow<'_, T>
[INFO] [stdout]               Rc<T>
[INFO] [stdout]               String
[INFO] [stdout]               Vec<T>
[INFO] [stdout]               parity_scale_codec::Ref<'_, T, U>
[INFO] [stdout]     = note: required for `ComplexStruct` to implement `Encode`
[INFO] [stdout] note: required by a bound in `decode_object`
[INFO] [stdout]    --> tests/mem_tracking.rs:48:5
[INFO] [stdout]     |
[INFO] [stdout]  46 | fn decode_object<T>(obj: T, mem_limit: usize, expected_used_mem: usize) -> Result<T, Error>
[INFO] [stdout]     |    ------------- required by a bound in this function
[INFO] [stdout]  47 | where
[INFO] [stdout]  48 |     T: Encode + DecodeWithMemTracking + DecodeWithMemLimit + PartialEq + Debug,
[INFO] [stdout]     |        ^^^^^^ required by this bound in `decode_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `size_hint` exists for struct `size_hint_for_tuple_struct::Tuple`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/size_hint.rs:24:15
[INFO] [stdout]     |
[INFO] [stdout]  21 |     struct Tuple(String, Vec<i32>, #[codec(skip)] u32);
[INFO] [stdout]     |     ------------ method `size_hint` not found for this struct because it doesn't satisfy `<_ as Deref>::Target = _`, `_: WrapperTypeEncode` or `size_hint_for_tuple_struct::Tuple: Encode`
[INFO] [stdout] ...
[INFO] [stdout]  24 |     assert_eq!(v.size_hint(), 23);
[INFO] [stdout]     |                  ^^^^^^^^^ method cannot be called on `size_hint_for_tuple_struct::Tuple` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<size_hint_for_tuple_struct::Tuple as Deref>::Target = _`
[INFO] [stdout]             which is required by `size_hint_for_tuple_struct::Tuple: Encode`
[INFO] [stdout]             `size_hint_for_tuple_struct::Tuple: WrapperTypeEncode`
[INFO] [stdout]             which is required by `size_hint_for_tuple_struct::Tuple: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `size_hint`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout]             candidate #2: `Iterator`
[INFO] [stdout]             candidate #3: `serde_core::de::MapAccess`
[INFO] [stdout]             candidate #4: `serde_core::de::SeqAccess`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for enum `T`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/variant_number.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout]   7 |     enum T {
[INFO] [stdout]     |     ------ method `encode` not found for this enum because it doesn't satisfy `<T as Deref>::Target = _`, `T: Encode` or `T: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout]  14 |     assert_eq!(T::B.encode(), vec![0]);
[INFO] [stdout]     |                     ^^^^^^ method cannot be called on `T` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<T as Deref>::Target = _`
[INFO] [stdout]             which is required by `T: Encode`
[INFO] [stdout]             `T: WrapperTypeEncode`
[INFO] [stdout]             which is required by `T: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/mod.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |         #[codec(compact)]
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]    --> tests/mod.rs:104:4
[INFO] [stdout]     |
[INFO] [stdout] 104 |     #[codec(compact)]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `size_hint` exists for struct `Unit`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/size_hint.rs:33:15
[INFO] [stdout]     |
[INFO] [stdout]  30 |     struct Unit;
[INFO] [stdout]     |     ----------- method `size_hint` not found for this struct because it doesn't satisfy `<Unit as Deref>::Target = _`, `Unit: Encode` or `Unit: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout]  33 |     assert_eq!(v.size_hint(), 0);
[INFO] [stdout]     |                  ^^^^^^^^^ method cannot be called on `Unit` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Unit as Deref>::Target = _`
[INFO] [stdout]             which is required by `Unit: Encode`
[INFO] [stdout]             `Unit: WrapperTypeEncode`
[INFO] [stdout]             which is required by `Unit: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `size_hint`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout]             candidate #2: `Iterator`
[INFO] [stdout]             candidate #3: `serde_core::de::MapAccess`
[INFO] [stdout]             candidate #4: `serde_core::de::SeqAccess`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]    --> tests/mod.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 |     Unnamed(#[codec(compact)] u64),
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/single_field_struct_encoding.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[codec(skip)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `parity-scale-codec` (test "variant_number") due to 4 previous errors
[INFO] [stdout] error[E0599]: the method `size_hint` exists for enum `EnumType`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/size_hint.rs:50:15
[INFO] [stdout]     |
[INFO] [stdout]  39 |     enum EnumType {
[INFO] [stdout]     |     ------------- method `size_hint` not found for this enum because it doesn't satisfy `<EnumType as Deref>::Target = _`, `EnumType: Encode` or `EnumType: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout]  50 |     assert_eq!(v.size_hint(), 1);
[INFO] [stdout]     |                  ^^^^^^^^^ method cannot be called on `EnumType` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumType as Deref>::Target = _`
[INFO] [stdout]             which is required by `EnumType: Encode`
[INFO] [stdout]             `EnumType: WrapperTypeEncode`
[INFO] [stdout]             which is required by `EnumType: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `size_hint`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout]             candidate #2: `Iterator`
[INFO] [stdout]             candidate #3: `serde_core::de::MapAccess`
[INFO] [stdout]             candidate #4: `serde_core::de::SeqAccess`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]    --> tests/mod.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |         #[codec(compact)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]    --> tests/mod.rs:408:5
[INFO] [stdout]     |
[INFO] [stdout] 408 |         #[codec(encoded_as = "u32")]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]    --> tests/mod.rs:442:6
[INFO] [stdout]     |
[INFO] [stdout] 442 |             #[codec(compact)]
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `parity-scale-codec` (test "mem_tracking") due to 5 previous errors
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]    --> tests/mod.rs:519:4
[INFO] [stdout]     |
[INFO] [stdout] 519 |     #[codec(dumb_trait_bound)]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]    --> tests/mod.rs:617:4
[INFO] [stdout]     |
[INFO] [stdout] 617 |     #[codec(encode_bound(N: Encode, T: Default))]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]    --> tests/mod.rs:618:4
[INFO] [stdout]     |
[INFO] [stdout] 618 |     #[codec(decode_bound(N: Decode, T: Default))]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]    --> tests/mod.rs:619:4
[INFO] [stdout]     |
[INFO] [stdout] 619 |     #[codec(decode_with_mem_tracking_bound(N: DecodeWithMemTracking, T: Default))]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]    --> tests/mod.rs:626:4
[INFO] [stdout]     |
[INFO] [stdout] 626 |     #[codec(encode_bound())]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]    --> tests/mod.rs:627:4
[INFO] [stdout]     |
[INFO] [stdout] 627 |     #[codec(decode_bound())]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/single_field_struct_encoding.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 |     #[codec(skip)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `size_hint` exists for enum `EnumType`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/size_hint.rs:53:15
[INFO] [stdout]     |
[INFO] [stdout]  39 |     enum EnumType {
[INFO] [stdout]     |     ------------- method `size_hint` not found for this enum because it doesn't satisfy `<EnumType as Deref>::Target = _`, `EnumType: Encode` or `EnumType: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout]  53 |     assert_eq!(v.size_hint(), 13);
[INFO] [stdout]     |                  ^^^^^^^^^ method cannot be called on `EnumType` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumType as Deref>::Target = _`
[INFO] [stdout]             which is required by `EnumType: Encode`
[INFO] [stdout]             `EnumType: WrapperTypeEncode`
[INFO] [stdout]             which is required by `EnumType: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `size_hint`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout]             candidate #2: `Iterator`
[INFO] [stdout]             candidate #3: `serde_core::de::MapAccess`
[INFO] [stdout]             candidate #4: `serde_core::de::SeqAccess`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `size_hint` exists for enum `EnumType`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/size_hint.rs:56:15
[INFO] [stdout]     |
[INFO] [stdout]  39 |     enum EnumType {
[INFO] [stdout]     |     ------------- method `size_hint` not found for this enum because it doesn't satisfy `<EnumType as Deref>::Target = _`, `EnumType: Encode` or `EnumType: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout]  56 |     assert_eq!(v.size_hint(), 13);
[INFO] [stdout]     |                  ^^^^^^^^^ method cannot be called on `EnumType` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumType as Deref>::Target = _`
[INFO] [stdout]             which is required by `EnumType: Encode`
[INFO] [stdout]             `EnumType: WrapperTypeEncode`
[INFO] [stdout]             which is required by `EnumType: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `size_hint`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout]             candidate #2: `Iterator`
[INFO] [stdout]             candidate #3: `serde_core::de::MapAccess`
[INFO] [stdout]             candidate #4: `serde_core::de::SeqAccess`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/single_field_struct_encoding.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 |     #[codec(compact)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `size_hint` exists for enum `EnumWithDiscriminant`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/size_hint.rs:71:15
[INFO] [stdout]     |
[INFO] [stdout]  62 |     enum EnumWithDiscriminant {
[INFO] [stdout]     |     ------------------------- method `size_hint` not found for this enum because it doesn't satisfy `<EnumWithDiscriminant as Deref>::Target = _`, `EnumWithDiscriminant: Encode` or `EnumWithDiscriminant: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout]  71 |     assert_eq!(v.size_hint(), discriminant);
[INFO] [stdout]     |                  ^^^^^^^^^ method cannot be called on `EnumWithDiscriminant` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumWithDiscriminant as Deref>::Target = _`
[INFO] [stdout]             which is required by `EnumWithDiscriminant: Encode`
[INFO] [stdout]             `EnumWithDiscriminant: WrapperTypeEncode`
[INFO] [stdout]             which is required by `EnumWithDiscriminant: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `size_hint`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout]             candidate #2: `Iterator`
[INFO] [stdout]             candidate #3: `serde_core::de::MapAccess`
[INFO] [stdout]             candidate #4: `serde_core::de::SeqAccess`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/single_field_struct_encoding.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 |     #[codec(encoded_as = "<T as HasCompact>::Type")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `Wrapper<StructNamed>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/chain-error.rs:44:27
[INFO] [stdout]     |
[INFO] [stdout]  19 | struct Wrapper<T>(T);
[INFO] [stdout]     | ----------------- function or associated item `decode` not found for this struct because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `Wrapper<StructNamed>: Decode` or `Wrapper<StructNamed>: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout]  44 |         Wrapper::<StructNamed>::decode(&mut &encoded[..]).unwrap_err().to_string(),
[INFO] [stdout]     |                                 ^^^^^^ function or associated item cannot be called on `Wrapper<StructNamed>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Wrapper<StructNamed> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `Wrapper<StructNamed>: Decode`
[INFO] [stdout]             `Wrapper<StructNamed>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `Wrapper<StructNamed>: Decode`
[INFO] [stdout]             `<&Wrapper<StructNamed> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&Wrapper<StructNamed>: Decode`
[INFO] [stdout]             `&Wrapper<StructNamed>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&Wrapper<StructNamed>: Decode`
[INFO] [stdout]             `<&mut Wrapper<StructNamed> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut Wrapper<StructNamed>: Decode`
[INFO] [stdout]             `&mut Wrapper<StructNamed>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut Wrapper<StructNamed>: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/single_field_struct_encoding.rs:90:16
[INFO] [stdout]    |
[INFO] [stdout] 90 | struct USkip(#[codec(skip)] u32, u32, #[codec(skip)] u32);
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/single_field_struct_encoding.rs:90:41
[INFO] [stdout]    |
[INFO] [stdout] 90 | struct USkip(#[codec(skip)] u32, u32, #[codec(skip)] u32);
[INFO] [stdout]    |                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/single_field_struct_encoding.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 | struct Uc(#[codec(compact)] u32);
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/single_field_struct_encoding.rs:96:15
[INFO] [stdout]    |
[INFO] [stdout] 96 | struct Ucas(#[codec(compact)] U);
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]   --> tests/single_field_struct_encoding.rs:99:19
[INFO] [stdout]    |
[INFO] [stdout] 99 | struct USkipcas(#[codec(compact)] USkip);
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 | struct SSkipcas(#[codec(compact)] SSkip);
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `codec` in this scope
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 | struct Uh<T: HasCompact>(#[codec(encoded_as = "<T as HasCompact>::Type")] T)
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for enum `enum_struct_test::Enum`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/skip.rs:47:16
[INFO] [stdout]     |
[INFO] [stdout]  20 |     enum Enum<T = UncodecType, S = UncodecUndefaultType> {
[INFO] [stdout]     |     ---------------------------------------------------- method `encode` not found for this enum because it doesn't satisfy `<enum_struct_test::Enum as Deref>::Target = _`, `enum_struct_test::Enum: Encode` or `enum_struct_test::Enum: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout]  47 |     assert_eq!(ea.encode(), Vec::new());
[INFO] [stdout]     |                   ^^^^^^ method cannot be called on `enum_struct_test::Enum` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<enum_struct_test::Enum as Deref>::Target = _`
[INFO] [stdout]             which is required by `enum_struct_test::Enum: Encode`
[INFO] [stdout]             `enum_struct_test::Enum: WrapperTypeEncode`
[INFO] [stdout]             which is required by `enum_struct_test::Enum: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for enum `enum_struct_test::Enum`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/skip.rs:49:34
[INFO] [stdout]     |
[INFO] [stdout]  20 |     enum Enum<T = UncodecType, S = UncodecUndefaultType> {
[INFO] [stdout]     |     ---------------------------------------------------- method `encode` not found for this enum because it doesn't satisfy `<enum_struct_test::Enum as Deref>::Target = _`, `enum_struct_test::Enum: Encode` or `enum_struct_test::Enum: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout]  49 |     let mut eb_encoded: &[u8] = &eb.encode();
[INFO] [stdout]     |                                     ^^^^^^ method cannot be called on `enum_struct_test::Enum` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<enum_struct_test::Enum as Deref>::Target = _`
[INFO] [stdout]             which is required by `enum_struct_test::Enum: Encode`
[INFO] [stdout]             `enum_struct_test::Enum: WrapperTypeEncode`
[INFO] [stdout]             which is required by `enum_struct_test::Enum: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `Wrapper<StructUnnamed>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/chain-error.rs:58:29
[INFO] [stdout]     |
[INFO] [stdout]  19 | struct Wrapper<T>(T);
[INFO] [stdout]     | ----------------- function or associated item `decode` not found for this struct because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `Wrapper<StructUnnamed>: Decode` or `Wrapper<StructUnnamed>: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout]  58 |         Wrapper::<StructUnnamed>::decode(&mut &encoded[..]).unwrap_err().to_string(),
[INFO] [stdout]     |                                   ^^^^^^ function or associated item cannot be called on `Wrapper<StructUnnamed>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Wrapper<StructUnnamed> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `Wrapper<StructUnnamed>: Decode`
[INFO] [stdout]             `Wrapper<StructUnnamed>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `Wrapper<StructUnnamed>: Decode`
[INFO] [stdout]             `<&Wrapper<StructUnnamed> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&Wrapper<StructUnnamed>: Decode`
[INFO] [stdout]             `&Wrapper<StructUnnamed>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&Wrapper<StructUnnamed>: Decode`
[INFO] [stdout]             `<&mut Wrapper<StructUnnamed> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut Wrapper<StructUnnamed>: Decode`
[INFO] [stdout]             `&mut Wrapper<StructUnnamed>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut Wrapper<StructUnnamed>: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for enum `enum_struct_test::Enum`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/skip.rs:50:34
[INFO] [stdout]     |
[INFO] [stdout]  20 |     enum Enum<T = UncodecType, S = UncodecUndefaultType> {
[INFO] [stdout]     |     ---------------------------------------------------- method `encode` not found for this enum because it doesn't satisfy `<enum_struct_test::Enum as Deref>::Target = _`, `enum_struct_test::Enum: Encode` or `enum_struct_test::Enum: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout]  50 |     let mut ec_encoded: &[u8] = &ec.encode();
[INFO] [stdout]     |                                     ^^^^^^ method cannot be called on `enum_struct_test::Enum` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<enum_struct_test::Enum as Deref>::Target = _`
[INFO] [stdout]             which is required by `enum_struct_test::Enum: Encode`
[INFO] [stdout]             `enum_struct_test::Enum: WrapperTypeEncode`
[INFO] [stdout]             which is required by `enum_struct_test::Enum: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `parity_scale_codec_derive`
[INFO] [stdout]   --> tests/type_inference.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use parity_scale_codec_derive::{
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `parity_scale_codec_derive`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 18 - use parity_scale_codec_derive::{
[INFO] [stdout] 18 + use parity_scale_codec::{
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `StructNamed`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/skip.rs:51:34
[INFO] [stdout]     |
[INFO] [stdout]  32 |     struct StructNamed<T = UncodecType> {
[INFO] [stdout]     |     ----------------------------------- method `encode` not found for this struct because it doesn't satisfy `<StructNamed as Deref>::Target = _`, `StructNamed: Encode` or `StructNamed: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout]  51 |     let mut sn_encoded: &[u8] = &sn.encode();
[INFO] [stdout]     |                                     ^^^^^^ method cannot be called on `StructNamed` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<StructNamed as Deref>::Target = _`
[INFO] [stdout]             which is required by `StructNamed: Encode`
[INFO] [stdout]             `StructNamed: WrapperTypeEncode`
[INFO] [stdout]             which is required by `StructNamed: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `StructUnnamed`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/skip.rs:52:34
[INFO] [stdout]     |
[INFO] [stdout]  39 |     struct StructUnnamed<T = UncodecType>(#[codec(skip)] T, u32);
[INFO] [stdout]     |     ------------------------------------- method `encode` not found for this struct because it doesn't satisfy `<StructUnnamed as Deref>::Target = _`, `StructUnnamed: Encode` or `StructUnnamed: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout]  52 |     let mut su_encoded: &[u8] = &su.encode();
[INFO] [stdout]     |                                     ^^^^^^ method cannot be called on `StructUnnamed` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<StructUnnamed as Deref>::Target = _`
[INFO] [stdout]             which is required by `StructUnnamed: Encode`
[INFO] [stdout]             `StructUnnamed: WrapperTypeEncode`
[INFO] [stdout]             which is required by `StructUnnamed: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the variant or associated item `decode` exists for enum `enum_struct_test::Enum<_, _>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/skip.rs:54:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |     enum Enum<T = UncodecType, S = UncodecUndefaultType> {
[INFO] [stdout]     |     ---------------------------------------------------- variant or associated item `decode` not found for this enum because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `enum_struct_test::Enum<_, _>: Decode` or `enum_struct_test::Enum<_, _>: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout]  54 |     assert_eq!(Enum::decode(&mut eb_encoded).unwrap(), eb);
[INFO] [stdout]     |                      ^^^^^^ variant or associated item cannot be called on `enum_struct_test::Enum<_, _>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<enum_struct_test::Enum<_, _> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `enum_struct_test::Enum<_, _>: Decode`
[INFO] [stdout]             `enum_struct_test::Enum<_, _>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `enum_struct_test::Enum<_, _>: Decode`
[INFO] [stdout]             `<&enum_struct_test::Enum<_, _> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&enum_struct_test::Enum<_, _>: Decode`
[INFO] [stdout]             `&enum_struct_test::Enum<_, _>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&enum_struct_test::Enum<_, _>: Decode`
[INFO] [stdout]             `<&mut enum_struct_test::Enum<_, _> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut enum_struct_test::Enum<_, _>: Decode`
[INFO] [stdout]             `&mut enum_struct_test::Enum<_, _>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut enum_struct_test::Enum<_, _>: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the variant or associated item `decode` exists for enum `enum_struct_test::Enum<_, _>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/skip.rs:55:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |     enum Enum<T = UncodecType, S = UncodecUndefaultType> {
[INFO] [stdout]     |     ---------------------------------------------------- variant or associated item `decode` not found for this enum because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `enum_struct_test::Enum<_, _>: Decode` or `enum_struct_test::Enum<_, _>: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout]  55 |     assert_eq!(Enum::decode(&mut ec_encoded).unwrap(), ec);
[INFO] [stdout]     |                      ^^^^^^ variant or associated item cannot be called on `enum_struct_test::Enum<_, _>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<enum_struct_test::Enum<_, _> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `enum_struct_test::Enum<_, _>: Decode`
[INFO] [stdout]             `enum_struct_test::Enum<_, _>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `enum_struct_test::Enum<_, _>: Decode`
[INFO] [stdout]             `<&enum_struct_test::Enum<_, _> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&enum_struct_test::Enum<_, _>: Decode`
[INFO] [stdout]             `&enum_struct_test::Enum<_, _>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&enum_struct_test::Enum<_, _>: Decode`
[INFO] [stdout]             `<&mut enum_struct_test::Enum<_, _> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut enum_struct_test::Enum<_, _>: Decode`
[INFO] [stdout]             `&mut enum_struct_test::Enum<_, _>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut enum_struct_test::Enum<_, _>: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the variant or associated item `decode` exists for enum `E`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/chain-error.rs:68:16
[INFO] [stdout]     |
[INFO] [stdout]  30 | enum E {
[INFO] [stdout]     | ------ variant or associated item `decode` not found for this enum because it doesn't satisfy `<E as WrapperTypeDecode>::Wrapped = _`, `E: Decode` or `E: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout]  68 |     assert_eq!(E::decode(&mut &encoded[..]).unwrap_err().to_string(), String::from(err),);
[INFO] [stdout]     |                   ^^^^^^ variant or associated item cannot be called on `E` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<E as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `E: Decode`
[INFO] [stdout]             `E: WrapperTypeDecode`
[INFO] [stdout]             which is required by `E: Decode`
[INFO] [stdout]             `<&E as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&E: Decode`
[INFO] [stdout]             `&E: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&E: Decode`
[INFO] [stdout]             `<&mut E as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut E: Decode`
[INFO] [stdout]             `&mut E: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut E: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the variant or associated item `decode` exists for enum `E`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/chain-error.rs:78:16
[INFO] [stdout]     |
[INFO] [stdout]  30 | enum E {
[INFO] [stdout]     | ------ variant or associated item `decode` not found for this enum because it doesn't satisfy `<E as WrapperTypeDecode>::Wrapped = _`, `E: Decode` or `E: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout]  78 |     assert_eq!(E::decode(&mut &encoded[..]).unwrap_err().to_string(), String::from(err),);
[INFO] [stdout]     |                   ^^^^^^ variant or associated item cannot be called on `E` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<E as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `E: Decode`
[INFO] [stdout]             `E: WrapperTypeDecode`
[INFO] [stdout]             which is required by `E: Decode`
[INFO] [stdout]             `<&E as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&E: Decode`
[INFO] [stdout]             `&E: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&E: Decode`
[INFO] [stdout]             `<&mut E as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut E: Decode`
[INFO] [stdout]             `&mut E: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut E: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `StructNamed<_>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/skip.rs:56:26
[INFO] [stdout]     |
[INFO] [stdout]  32 |     struct StructNamed<T = UncodecType> {
[INFO] [stdout]     |     ----------------------------------- function or associated item `decode` not found for this struct because it doesn't satisfy `<StructNamed<_> as WrapperTypeDecode>::Wrapped = _`, `StructNamed<_>: Decode` or `StructNamed<_>: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout]  56 |     assert_eq!(StructNamed::decode(&mut sn_encoded).unwrap(), sn);
[INFO] [stdout]     |                             ^^^^^^ function or associated item cannot be called on `StructNamed<_>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<StructNamed<_> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `StructNamed<_>: Decode`
[INFO] [stdout]             `StructNamed<_>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `StructNamed<_>: Decode`
[INFO] [stdout]             `<&StructNamed<_> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&StructNamed<_>: Decode`
[INFO] [stdout]             `&StructNamed<_>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&StructNamed<_>: Decode`
[INFO] [stdout]             `<&mut StructNamed<_> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut StructNamed<_>: Decode`
[INFO] [stdout]             `&mut StructNamed<_>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut StructNamed<_>: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the variant or associated item `decode` exists for enum `E`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/chain-error.rs:88:16
[INFO] [stdout]     |
[INFO] [stdout]  30 | enum E {
[INFO] [stdout]     | ------ variant or associated item `decode` not found for this enum because it doesn't satisfy `<E as WrapperTypeDecode>::Wrapped = _`, `E: Decode` or `E: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout]  88 |     assert_eq!(E::decode(&mut &encoded[..]).unwrap_err().to_string(), String::from(err),);
[INFO] [stdout]     |                   ^^^^^^ variant or associated item cannot be called on `E` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<E as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `E: Decode`
[INFO] [stdout]             `E: WrapperTypeDecode`
[INFO] [stdout]             which is required by `E: Decode`
[INFO] [stdout]             `<&E as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&E: Decode`
[INFO] [stdout]             `&E: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&E: Decode`
[INFO] [stdout]             `<&mut E as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut E: Decode`
[INFO] [stdout]             `&mut E: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut E: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `StructUnnamed<_>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/skip.rs:57:28
[INFO] [stdout]     |
[INFO] [stdout]  39 |     struct StructUnnamed<T = UncodecType>(#[codec(skip)] T, u32);
[INFO] [stdout]     |     ------------------------------------- function or associated item `decode` not found for this struct because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `StructUnnamed<_>: Decode` or `StructUnnamed<_>: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout]  57 |     assert_eq!(StructUnnamed::decode(&mut su_encoded).unwrap(), su);
[INFO] [stdout]     |                               ^^^^^^ function or associated item cannot be called on `StructUnnamed<_>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<StructUnnamed<_> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `StructUnnamed<_>: Decode`
[INFO] [stdout]             `StructUnnamed<_>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `StructUnnamed<_>: Decode`
[INFO] [stdout]             `<&StructUnnamed<_> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&StructUnnamed<_>: Decode`
[INFO] [stdout]             `&StructUnnamed<_>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&StructUnnamed<_>: Decode`
[INFO] [stdout]             `<&mut StructUnnamed<_> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut StructUnnamed<_>: Decode`
[INFO] [stdout]             `&mut StructUnnamed<_>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut StructUnnamed<_>: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for enum `skip_enum_struct_inner_variant::Enum`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/skip.rs:74:62
[INFO] [stdout]     |
[INFO] [stdout]  66 |     enum Enum {
[INFO] [stdout]     |     --------- method `encode` not found for this enum because it doesn't satisfy `<_ as Deref>::Target = _`, `_: WrapperTypeEncode` or `skip_enum_struct_inner_variant::Enum: Encode`
[INFO] [stdout] ...
[INFO] [stdout]  74 |     let encoded = Enum::Data { some_named: 1, ignore: Some(1) }.encode();
[INFO] [stdout]     |                                                                 ^^^^^^ method cannot be called on `skip_enum_struct_inner_variant::Enum` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<skip_enum_struct_inner_variant::Enum as Deref>::Target = _`
[INFO] [stdout]             which is required by `skip_enum_struct_inner_variant::Enum: Encode`
[INFO] [stdout]             `skip_enum_struct_inner_variant::Enum: WrapperTypeEncode`
[INFO] [stdout]             which is required by `skip_enum_struct_inner_variant::Enum: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `parity-scale-codec` (test "chain-error") due to 6 previous errors
[INFO] [stderr] error: could not compile `parity-scale-codec` (test "type_inference") due to 1 previous error
[INFO] [stdout] Some errors have detailed explanations: E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `parity-scale-codec` (test "skip") due to 18 previous errors
[INFO] [stdout] error[E0599]: the method `size_hint` exists for enum `EnumWithDiscriminant`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/size_hint.rs:74:15
[INFO] [stdout]     |
[INFO] [stdout]  62 |     enum EnumWithDiscriminant {
[INFO] [stdout]     |     ------------------------- method `size_hint` not found for this enum because it doesn't satisfy `<EnumWithDiscriminant as Deref>::Target = _`, `EnumWithDiscriminant: Encode` or `EnumWithDiscriminant: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout]  74 |     assert_eq!(v.size_hint(), discriminant);
[INFO] [stdout]     |                  ^^^^^^^^^ method cannot be called on `EnumWithDiscriminant` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumWithDiscriminant as Deref>::Target = _`
[INFO] [stdout]             which is required by `EnumWithDiscriminant: Encode`
[INFO] [stdout]             `EnumWithDiscriminant: WrapperTypeEncode`
[INFO] [stdout]             which is required by `EnumWithDiscriminant: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `size_hint`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout]             candidate #2: `Iterator`
[INFO] [stdout]             candidate #3: `serde_core::de::MapAccess`
[INFO] [stdout]             candidate #4: `serde_core::de::SeqAccess`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `size_hint` exists for enum `EnumWithDiscriminant`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/size_hint.rs:77:15
[INFO] [stdout]     |
[INFO] [stdout]  62 |     enum EnumWithDiscriminant {
[INFO] [stdout]     |     ------------------------- method `size_hint` not found for this enum because it doesn't satisfy `<EnumWithDiscriminant as Deref>::Target = _`, `EnumWithDiscriminant: Encode` or `EnumWithDiscriminant: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout]  77 |     assert_eq!(v.size_hint(), discriminant);
[INFO] [stdout]     |                  ^^^^^^^^^ method cannot be called on `EnumWithDiscriminant` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumWithDiscriminant as Deref>::Target = _`
[INFO] [stdout]             which is required by `EnumWithDiscriminant: Encode`
[INFO] [stdout]             `EnumWithDiscriminant: WrapperTypeEncode`
[INFO] [stdout]             which is required by `EnumWithDiscriminant: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `size_hint`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout]             candidate #2: `Iterator`
[INFO] [stdout]             candidate #3: `serde_core::de::MapAccess`
[INFO] [stdout]             candidate #4: `serde_core::de::SeqAccess`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `using_encoded` exists for enum `EnumType`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout]  56 | enum EnumType {
[INFO] [stdout]     | ------------- method `using_encoded` not found for this enum because it doesn't satisfy `<EnumType as Deref>::Target = _`, `EnumType: Encode` or `EnumType: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 142 |     a.using_encoded(|ref slice| {
[INFO] [stdout]     |     --^^^^^^^^^^^^^ method cannot be called on `EnumType` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumType as Deref>::Target = _`
[INFO] [stdout]             which is required by `EnumType: Encode`
[INFO] [stdout]             `EnumType: WrapperTypeEncode`
[INFO] [stdout]             which is required by `EnumType: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `using_encoded`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `using_encoded` exists for enum `EnumType`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout]  56 | enum EnumType {
[INFO] [stdout]     | ------------- method `using_encoded` not found for this enum because it doesn't satisfy `<EnumType as Deref>::Target = _`, `EnumType: Encode` or `EnumType: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 145 |     b.using_encoded(|ref slice| {
[INFO] [stdout]     |     --^^^^^^^^^^^^^ method cannot be called on `EnumType` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumType as Deref>::Target = _`
[INFO] [stdout]             which is required by `EnumType: Encode`
[INFO] [stdout]             `EnumType: WrapperTypeEncode`
[INFO] [stdout]             which is required by `EnumType: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `using_encoded`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `using_encoded` exists for enum `EnumType`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:148:4
[INFO] [stdout]     |
[INFO] [stdout]  56 | enum EnumType {
[INFO] [stdout]     | ------------- method `using_encoded` not found for this enum because it doesn't satisfy `<EnumType as Deref>::Target = _`, `EnumType: Encode` or `EnumType: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 148 |     c.using_encoded(|ref slice| {
[INFO] [stdout]     |     --^^^^^^^^^^^^^ method cannot be called on `EnumType` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumType as Deref>::Target = _`
[INFO] [stdout]             which is required by `EnumType: Encode`
[INFO] [stdout]             `EnumType: WrapperTypeEncode`
[INFO] [stdout]             which is required by `EnumType: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `using_encoded`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the variant or associated item `decode` exists for enum `EnumType`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:153:23
[INFO] [stdout]     |
[INFO] [stdout]  56 | enum EnumType {
[INFO] [stdout]     | ------------- variant or associated item `decode` not found for this enum because it doesn't satisfy `<EnumType as WrapperTypeDecode>::Wrapped = _`, `EnumType: Decode` or `EnumType: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 153 |     assert_eq!(EnumType::decode(&mut da).ok(), Some(a));
[INFO] [stdout]     |                          ^^^^^^ variant or associated item cannot be called on `EnumType` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumType as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `EnumType: Decode`
[INFO] [stdout]             `EnumType: WrapperTypeDecode`
[INFO] [stdout]             which is required by `EnumType: Decode`
[INFO] [stdout]             `<&EnumType as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&EnumType: Decode`
[INFO] [stdout]             `&EnumType: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&EnumType: Decode`
[INFO] [stdout]             `<&mut EnumType as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut EnumType: Decode`
[INFO] [stdout]             `&mut EnumType: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut EnumType: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the variant or associated item `decode` exists for enum `EnumType`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:155:23
[INFO] [stdout]     |
[INFO] [stdout]  56 | enum EnumType {
[INFO] [stdout]     | ------------- variant or associated item `decode` not found for this enum because it doesn't satisfy `<EnumType as WrapperTypeDecode>::Wrapped = _`, `EnumType: Decode` or `EnumType: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 155 |     assert_eq!(EnumType::decode(&mut db).ok(), Some(b));
[INFO] [stdout]     |                          ^^^^^^ variant or associated item cannot be called on `EnumType` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumType as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `EnumType: Decode`
[INFO] [stdout]             `EnumType: WrapperTypeDecode`
[INFO] [stdout]             which is required by `EnumType: Decode`
[INFO] [stdout]             `<&EnumType as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&EnumType: Decode`
[INFO] [stdout]             `&EnumType: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&EnumType: Decode`
[INFO] [stdout]             `<&mut EnumType as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut EnumType: Decode`
[INFO] [stdout]             `&mut EnumType: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut EnumType: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `parity-scale-codec` (test "size_hint") due to 13 previous errors
[INFO] [stdout] error[E0599]: the variant or associated item `decode` exists for enum `EnumType`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:157:23
[INFO] [stdout]     |
[INFO] [stdout]  56 | enum EnumType {
[INFO] [stdout]     | ------------- variant or associated item `decode` not found for this enum because it doesn't satisfy `<EnumType as WrapperTypeDecode>::Wrapped = _`, `EnumType: Decode` or `EnumType: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 157 |     assert_eq!(EnumType::decode(&mut dc).ok(), Some(c));
[INFO] [stdout]     |                          ^^^^^^ variant or associated item cannot be called on `EnumType` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumType as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `EnumType: Decode`
[INFO] [stdout]             `EnumType: WrapperTypeDecode`
[INFO] [stdout]             which is required by `EnumType: Decode`
[INFO] [stdout]             `<&EnumType as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&EnumType: Decode`
[INFO] [stdout]             `&EnumType: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&EnumType: Decode`
[INFO] [stdout]             `<&mut EnumType as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut EnumType: Decode`
[INFO] [stdout]             `&mut EnumType: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut EnumType: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the variant or associated item `decode` exists for enum `EnumType`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:159:23
[INFO] [stdout]     |
[INFO] [stdout]  56 | enum EnumType {
[INFO] [stdout]     | ------------- variant or associated item `decode` not found for this enum because it doesn't satisfy `<EnumType as WrapperTypeDecode>::Wrapped = _`, `EnumType: Decode` or `EnumType: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 159 |     assert_eq!(EnumType::decode(&mut dz).ok(), None);
[INFO] [stdout]     |                          ^^^^^^ variant or associated item cannot be called on `EnumType` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumType as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `EnumType: Decode`
[INFO] [stdout]             `EnumType: WrapperTypeDecode`
[INFO] [stdout]             which is required by `EnumType: Decode`
[INFO] [stdout]             `<&EnumType as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&EnumType: Decode`
[INFO] [stdout]             `&EnumType: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&EnumType: Decode`
[INFO] [stdout]             `<&mut EnumType as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut EnumType: Decode`
[INFO] [stdout]             `&mut EnumType: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut EnumType: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `using_encoded` exists for enum `EnumWithDiscriminant`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:164:26
[INFO] [stdout]     |
[INFO] [stdout]  67 | enum EnumWithDiscriminant {
[INFO] [stdout]     | ------------------------- method `using_encoded` not found for this enum because it doesn't satisfy `<EnumWithDiscriminant as Deref>::Target = _`, `EnumWithDiscriminant: Encode` or `EnumWithDiscriminant: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 164 |     EnumWithDiscriminant::A.using_encoded(|ref slice| {
[INFO] [stdout]     |     ------------------------^^^^^^^^^^^^^ method cannot be called on `EnumWithDiscriminant` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumWithDiscriminant as Deref>::Target = _`
[INFO] [stdout]             which is required by `EnumWithDiscriminant: Encode`
[INFO] [stdout]             `EnumWithDiscriminant: WrapperTypeEncode`
[INFO] [stdout]             which is required by `EnumWithDiscriminant: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `using_encoded`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `using_encoded` exists for enum `EnumWithDiscriminant`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:167:26
[INFO] [stdout]     |
[INFO] [stdout]  67 | enum EnumWithDiscriminant {
[INFO] [stdout]     | ------------------------- method `using_encoded` not found for this enum because it doesn't satisfy `<EnumWithDiscriminant as Deref>::Target = _`, `EnumWithDiscriminant: Encode` or `EnumWithDiscriminant: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 167 |     EnumWithDiscriminant::B.using_encoded(|ref slice| {
[INFO] [stdout]     |     ------------------------^^^^^^^^^^^^^ method cannot be called on `EnumWithDiscriminant` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumWithDiscriminant as Deref>::Target = _`
[INFO] [stdout]             which is required by `EnumWithDiscriminant: Encode`
[INFO] [stdout]             `EnumWithDiscriminant: WrapperTypeEncode`
[INFO] [stdout]             which is required by `EnumWithDiscriminant: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `using_encoded`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `using_encoded` exists for enum `EnumWithDiscriminant`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:170:26
[INFO] [stdout]     |
[INFO] [stdout]  67 | enum EnumWithDiscriminant {
[INFO] [stdout]     | ------------------------- method `using_encoded` not found for this enum because it doesn't satisfy `<EnumWithDiscriminant as Deref>::Target = _`, `EnumWithDiscriminant: Encode` or `EnumWithDiscriminant: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 170 |     EnumWithDiscriminant::C.using_encoded(|ref slice| {
[INFO] [stdout]     |     ------------------------^^^^^^^^^^^^^ method cannot be called on `EnumWithDiscriminant` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumWithDiscriminant as Deref>::Target = _`
[INFO] [stdout]             which is required by `EnumWithDiscriminant: Encode`
[INFO] [stdout]             `EnumWithDiscriminant: WrapperTypeEncode`
[INFO] [stdout]             which is required by `EnumWithDiscriminant: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `using_encoded`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the variant or associated item `decode` exists for enum `EnumWithDiscriminant`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:175:35
[INFO] [stdout]     |
[INFO] [stdout]  67 | enum EnumWithDiscriminant {
[INFO] [stdout]     | ------------------------- variant or associated item `decode` not found for this enum because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `EnumWithDiscriminant: Decode` or `EnumWithDiscriminant: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 175 |     assert_eq!(EnumWithDiscriminant::decode(&mut da), Ok(EnumWithDiscriminant::A));
[INFO] [stdout]     |                                      ^^^^^^ variant or associated item cannot be called on `EnumWithDiscriminant` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumWithDiscriminant as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `EnumWithDiscriminant: Decode`
[INFO] [stdout]             `EnumWithDiscriminant: WrapperTypeDecode`
[INFO] [stdout]             which is required by `EnumWithDiscriminant: Decode`
[INFO] [stdout]             `<&EnumWithDiscriminant as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&EnumWithDiscriminant: Decode`
[INFO] [stdout]             `&EnumWithDiscriminant: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&EnumWithDiscriminant: Decode`
[INFO] [stdout]             `<&mut EnumWithDiscriminant as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut EnumWithDiscriminant: Decode`
[INFO] [stdout]             `&mut EnumWithDiscriminant: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut EnumWithDiscriminant: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the variant or associated item `decode` exists for enum `EnumWithDiscriminant`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:177:35
[INFO] [stdout]     |
[INFO] [stdout]  67 | enum EnumWithDiscriminant {
[INFO] [stdout]     | ------------------------- variant or associated item `decode` not found for this enum because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `EnumWithDiscriminant: Decode` or `EnumWithDiscriminant: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 177 |     assert_eq!(EnumWithDiscriminant::decode(&mut db), Ok(EnumWithDiscriminant::B));
[INFO] [stdout]     |                                      ^^^^^^ variant or associated item cannot be called on `EnumWithDiscriminant` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumWithDiscriminant as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `EnumWithDiscriminant: Decode`
[INFO] [stdout]             `EnumWithDiscriminant: WrapperTypeDecode`
[INFO] [stdout]             which is required by `EnumWithDiscriminant: Decode`
[INFO] [stdout]             `<&EnumWithDiscriminant as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&EnumWithDiscriminant: Decode`
[INFO] [stdout]             `&EnumWithDiscriminant: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&EnumWithDiscriminant: Decode`
[INFO] [stdout]             `<&mut EnumWithDiscriminant as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut EnumWithDiscriminant: Decode`
[INFO] [stdout]             `&mut EnumWithDiscriminant: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut EnumWithDiscriminant: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `S`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:138:15
[INFO] [stdout]     |
[INFO] [stdout]   9 | struct S {
[INFO] [stdout]     | -------- method `encode` not found for this struct because it doesn't satisfy `<S as Deref>::Target = _`, `S: Encode` or `S: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 138 |     assert_eq!(s.encode(), s_encoded);
[INFO] [stdout]     |                  ^^^^^^ method cannot be called on `S` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<S as Deref>::Target = _`
[INFO] [stdout]             which is required by `S: Encode`
[INFO] [stdout]             `S: WrapperTypeEncode`
[INFO] [stdout]             which is required by `S: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the variant or associated item `decode` exists for enum `EnumWithDiscriminant`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:179:35
[INFO] [stdout]     |
[INFO] [stdout]  67 | enum EnumWithDiscriminant {
[INFO] [stdout]     | ------------------------- variant or associated item `decode` not found for this enum because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `EnumWithDiscriminant: Decode` or `EnumWithDiscriminant: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 179 |     assert_eq!(EnumWithDiscriminant::decode(&mut dc), Ok(EnumWithDiscriminant::C));
[INFO] [stdout]     |                                      ^^^^^^ variant or associated item cannot be called on `EnumWithDiscriminant` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumWithDiscriminant as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `EnumWithDiscriminant: Decode`
[INFO] [stdout]             `EnumWithDiscriminant: WrapperTypeDecode`
[INFO] [stdout]             which is required by `EnumWithDiscriminant: Decode`
[INFO] [stdout]             `<&EnumWithDiscriminant as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&EnumWithDiscriminant: Decode`
[INFO] [stdout]             `&EnumWithDiscriminant: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&EnumWithDiscriminant: Decode`
[INFO] [stdout]             `<&mut EnumWithDiscriminant as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut EnumWithDiscriminant: Decode`
[INFO] [stdout]             `&mut EnumWithDiscriminant: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut EnumWithDiscriminant: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `SSkip`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:139:20
[INFO] [stdout]     |
[INFO] [stdout]  25 | struct SSkip {
[INFO] [stdout]     | ------------ method `encode` not found for this struct because it doesn't satisfy `<SSkip as Deref>::Target = _`, `SSkip: Encode` or `SSkip: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 139 |     assert_eq!(s_skip.encode(), s_skip_encoded);
[INFO] [stdout]     |                       ^^^^^^ method cannot be called on `SSkip` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<SSkip as Deref>::Target = _`
[INFO] [stdout]             which is required by `SSkip: Encode`
[INFO] [stdout]             `SSkip: WrapperTypeEncode`
[INFO] [stdout]             which is required by `SSkip: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the variant or associated item `decode` exists for enum `EnumWithDiscriminant`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:181:35
[INFO] [stdout]     |
[INFO] [stdout]  67 | enum EnumWithDiscriminant {
[INFO] [stdout]     | ------------------------- variant or associated item `decode` not found for this enum because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `EnumWithDiscriminant: Decode` or `EnumWithDiscriminant: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 181 |     assert_eq!(EnumWithDiscriminant::decode(&mut dz).ok(), None);
[INFO] [stdout]     |                                      ^^^^^^ variant or associated item cannot be called on `EnumWithDiscriminant` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumWithDiscriminant as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `EnumWithDiscriminant: Decode`
[INFO] [stdout]             `EnumWithDiscriminant: WrapperTypeDecode`
[INFO] [stdout]             which is required by `EnumWithDiscriminant: Decode`
[INFO] [stdout]             `<&EnumWithDiscriminant as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&EnumWithDiscriminant: Decode`
[INFO] [stdout]             `&EnumWithDiscriminant: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&EnumWithDiscriminant: Decode`
[INFO] [stdout]             `<&mut EnumWithDiscriminant as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut EnumWithDiscriminant: Decode`
[INFO] [stdout]             `&mut EnumWithDiscriminant: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut EnumWithDiscriminant: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `Sc`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:140:16
[INFO] [stdout]     |
[INFO] [stdout]  34 | struct Sc {
[INFO] [stdout]     | --------- method `encode` not found for this struct because it doesn't satisfy `<Sc as Deref>::Target = _`, `Sc: Encode` or `Sc: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 140 |     assert_eq!(sc.encode(), sc_encoded);
[INFO] [stdout]     |                   ^^^^^^ method cannot be called on `Sc` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Sc as Deref>::Target = _`
[INFO] [stdout]             which is required by `Sc: Encode`
[INFO] [stdout]             `Sc: WrapperTypeEncode`
[INFO] [stdout]             which is required by `Sc: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `using_encoded` exists for struct `Struct<u32, u64, Vec<u8>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:188:4
[INFO] [stdout]     |
[INFO] [stdout]  34 | struct Struct<A, B, C> {
[INFO] [stdout]     | ---------------------- method `using_encoded` not found for this struct because it doesn't satisfy `<Struct<u32, u64, Vec<u8>> as Deref>::Target = _`, `Struct<u32, u64, Vec<u8>>: Encode` or `Struct<u32, u64, Vec<u8>>: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 188 |     v.using_encoded(|ref slice| assert_eq!(slice, &b"\x0f\0\0\0\x09\0\0\0\0\0\0\0\x2cHello world"));
[INFO] [stdout]     |       ^^^^^^^^^^^^^ method cannot be called on `Struct<u32, u64, Vec<u8>>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Struct<u32, u64, Vec<u8>> as Deref>::Target = _`
[INFO] [stdout]             which is required by `Struct<u32, u64, Vec<u8>>: Encode`
[INFO] [stdout]             `Struct<u32, u64, Vec<u8>>: WrapperTypeEncode`
[INFO] [stdout]             which is required by `Struct<u32, u64, Vec<u8>>: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `using_encoded`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `Sh<u32>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:141:16
[INFO] [stdout]     |
[INFO] [stdout]  40 | struct Sh<T: HasCompact>
[INFO] [stdout]     | ------------------------ method `encode` not found for this struct because it doesn't satisfy `<Sh<u32> as Deref>::Target = _`, `Sh<u32>: Encode` or `Sh<u32>: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 141 |     assert_eq!(sh.encode(), sh_encoded);
[INFO] [stdout]     |                   ^^^^^^ method cannot be called on `Sh<u32>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Sh<u32> as Deref>::Target = _`
[INFO] [stdout]             which is required by `Sh<u32>: Encode`
[INFO] [stdout]             `Sh<u32>: WrapperTypeEncode`
[INFO] [stdout]             which is required by `Sh<u32>: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `U`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:142:15
[INFO] [stdout]     |
[INFO] [stdout]  60 | struct U(u32);
[INFO] [stdout]     | -------- method `encode` not found for this struct because it doesn't satisfy `<U as Deref>::Target = _`, `U: Encode` or `U: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 142 |     assert_eq!(u.encode(), u_encoded);
[INFO] [stdout]     |                  ^^^^^^ method cannot be called on `U` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<U as Deref>::Target = _`
[INFO] [stdout]             which is required by `U: Encode`
[INFO] [stdout]             `U: WrapperTypeEncode`
[INFO] [stdout]             which is required by `U: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `Struct<u32, u64, Vec<u8>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:195:20
[INFO] [stdout]     |
[INFO] [stdout]  34 | struct Struct<A, B, C> {
[INFO] [stdout]     | ---------------------- function or associated item `decode` not found for this struct because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `Struct<u32, u64, Vec<u8>>: Decode` or `Struct<u32, u64, Vec<u8>>: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 195 |     let v = TestType::decode(&mut &*slice);
[INFO] [stdout]     |                       ^^^^^^ function or associated item cannot be called on `Struct<u32, u64, Vec<u8>>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Struct<u32, u64, Vec<u8>>`, consider using `Struct::<A, B, C>::new` which returns `Struct<_, _, _>`
[INFO] [stdout]    --> tests/mod.rs:50:2
[INFO] [stdout]     |
[INFO] [stdout]  50 |     fn new(a: A, b: B, c: C) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Struct<u32, u64, Vec<u8>> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `Struct<u32, u64, Vec<u8>>: Decode`
[INFO] [stdout]             `Struct<u32, u64, Vec<u8>>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `Struct<u32, u64, Vec<u8>>: Decode`
[INFO] [stdout]             `<&Struct<u32, u64, Vec<u8>> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&Struct<u32, u64, Vec<u8>>: Decode`
[INFO] [stdout]             `&Struct<u32, u64, Vec<u8>>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&Struct<u32, u64, Vec<u8>>: Decode`
[INFO] [stdout]             `<&mut Struct<u32, u64, Vec<u8>> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut Struct<u32, u64, Vec<u8>>: Decode`
[INFO] [stdout]             `&mut Struct<u32, u64, Vec<u8>>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut Struct<u32, u64, Vec<u8>>: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `USkip`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:143:20
[INFO] [stdout]     |
[INFO] [stdout]  90 | struct USkip(#[codec(skip)] u32, u32, #[codec(skip)] u32);
[INFO] [stdout]     | ------------ method `encode` not found for this struct because it doesn't satisfy `<USkip as Deref>::Target = _`, `USkip: Encode` or `USkip: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 143 |     assert_eq!(u_skip.encode(), u_skip_encoded);
[INFO] [stdout]     |                       ^^^^^^ method cannot be called on `USkip` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<USkip as Deref>::Target = _`
[INFO] [stdout]             which is required by `USkip: Encode`
[INFO] [stdout]             `USkip: WrapperTypeEncode`
[INFO] [stdout]             which is required by `USkip: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `using_encoded` exists for struct `Unit`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:204:4
[INFO] [stdout]     |
[INFO] [stdout]  28 | struct Unit;
[INFO] [stdout]     | ----------- method `using_encoded` not found for this struct because it doesn't satisfy `<Unit as Deref>::Target = _`, `Unit: Encode` or `Unit: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 204 |     v.using_encoded(|ref slice| {
[INFO] [stdout]     |     --^^^^^^^^^^^^^ method cannot be called on `Unit` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Unit as Deref>::Target = _`
[INFO] [stdout]             which is required by `Unit: Encode`
[INFO] [stdout]             `Unit: WrapperTypeEncode`
[INFO] [stdout]             which is required by `Unit: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `using_encoded`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `Uc`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:144:16
[INFO] [stdout]     |
[INFO] [stdout]  93 | struct Uc(#[codec(compact)] u32);
[INFO] [stdout]     | --------- method `encode` not found for this struct because it doesn't satisfy `<Uc as Deref>::Target = _`, `Uc: Encode` or `Uc: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 144 |     assert_eq!(uc.encode(), uc_encoded);
[INFO] [stdout]     |                   ^^^^^^ method cannot be called on `Uc` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Uc as Deref>::Target = _`
[INFO] [stdout]             which is required by `Uc: Encode`
[INFO] [stdout]             `Uc: WrapperTypeEncode`
[INFO] [stdout]             which is required by `Uc: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `Unit`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:209:19
[INFO] [stdout]     |
[INFO] [stdout]  28 | struct Unit;
[INFO] [stdout]     | ----------- function or associated item `decode` not found for this struct because it doesn't satisfy `<Unit as WrapperTypeDecode>::Wrapped = _`, `Unit: Decode` or `Unit: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 209 |     assert_eq!(Unit::decode(&mut a), Ok(Unit));
[INFO] [stdout]     |                      ^^^^^^ function or associated item cannot be called on `Unit` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Unit as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `Unit: Decode`
[INFO] [stdout]             `Unit: WrapperTypeDecode`
[INFO] [stdout]             which is required by `Unit: Decode`
[INFO] [stdout]             `<&Unit as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&Unit: Decode`
[INFO] [stdout]             `&Unit: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&Unit: Decode`
[INFO] [stdout]             `<&mut Unit as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut Unit: Decode`
[INFO] [stdout]             `&mut Unit: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut Unit: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `encode` found for struct `Compact<T>` in the current scope
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:145:18
[INFO] [stdout]     |
[INFO] [stdout] 145 |     assert_eq!(ucom.encode(), ucom_encoded);
[INFO] [stdout]     |                     ^^^^^^ method not found in `Compact<U>`
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 145 |     assert_eq!(ucom.0.0.encode(), ucom_encoded);
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `Ucas`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:146:18
[INFO] [stdout]     |
[INFO] [stdout]  96 | struct Ucas(#[codec(compact)] U);
[INFO] [stdout]     | ----------- method `encode` not found for this struct because it doesn't satisfy `<Ucas as Deref>::Target = _`, `Ucas: Encode` or `Ucas: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 146 |     assert_eq!(ucas.encode(), ucas_encoded);
[INFO] [stdout]     |                     ^^^^^^ method cannot be called on `Ucas` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Ucas as Deref>::Target = _`
[INFO] [stdout]             which is required by `Ucas: Encode`
[INFO] [stdout]             `Ucas: WrapperTypeEncode`
[INFO] [stdout]             which is required by `Ucas: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `using_encoded` exists for struct `Indexed`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:216:4
[INFO] [stdout]     |
[INFO] [stdout]  31 | struct Indexed(u32, u64);
[INFO] [stdout]     | -------------- method `using_encoded` not found for this struct because it doesn't satisfy `<Indexed as Deref>::Target = _`, `Indexed: Encode` or `Indexed: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 216 |     v.using_encoded(|ref slice| assert_eq!(slice, &b"\x01\0\0\0\x02\0\0\0\0\0\0\0"));
[INFO] [stdout]     |       ^^^^^^^^^^^^^ method cannot be called on `Indexed` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Indexed as Deref>::Target = _`
[INFO] [stdout]             which is required by `Indexed: Encode`
[INFO] [stdout]             `Indexed: WrapperTypeEncode`
[INFO] [stdout]             which is required by `Indexed: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `using_encoded`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `USkipcas`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:147:24
[INFO] [stdout]     |
[INFO] [stdout]  99 | struct USkipcas(#[codec(compact)] USkip);
[INFO] [stdout]     | --------------- method `encode` not found for this struct because it doesn't satisfy `<USkipcas as Deref>::Target = _`, `USkipcas: Encode` or `USkipcas: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 147 |     assert_eq!(u_skip_cas.encode(), u_skip_cas_encoded);
[INFO] [stdout]     |                           ^^^^^^ method cannot be called on `USkipcas` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<USkipcas as Deref>::Target = _`
[INFO] [stdout]             which is required by `USkipcas: Encode`
[INFO] [stdout]             `USkipcas: WrapperTypeEncode`
[INFO] [stdout]             which is required by `USkipcas: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `Indexed`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:219:22
[INFO] [stdout]     |
[INFO] [stdout]  31 | struct Indexed(u32, u64);
[INFO] [stdout]     | -------------- function or associated item `decode` not found for this struct because it doesn't satisfy `<Indexed as WrapperTypeDecode>::Wrapped = _`, `Indexed: Decode` or `Indexed: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 219 |     assert_eq!(Indexed::decode(&mut v), Ok(Indexed(1, 2)));
[INFO] [stdout]     |                         ^^^^^^ function or associated item cannot be called on `Indexed` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Indexed as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `Indexed: Decode`
[INFO] [stdout]             `Indexed: WrapperTypeDecode`
[INFO] [stdout]             which is required by `Indexed: Decode`
[INFO] [stdout]             `<&Indexed as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&Indexed: Decode`
[INFO] [stdout]             `&Indexed: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&Indexed: Decode`
[INFO] [stdout]             `<&mut Indexed as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut Indexed: Decode`
[INFO] [stdout]             `&mut Indexed: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut Indexed: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `SSkipcas`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:148:24
[INFO] [stdout]     |
[INFO] [stdout] 102 | struct SSkipcas(#[codec(compact)] SSkip);
[INFO] [stdout]     | --------------- method `encode` not found for this struct because it doesn't satisfy `<SSkipcas as Deref>::Target = _`, `SSkipcas: Encode` or `SSkipcas: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 148 |     assert_eq!(s_skip_cas.encode(), s_skip_cas_encoded);
[INFO] [stdout]     |                           ^^^^^^ method cannot be called on `SSkipcas` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<SSkipcas as Deref>::Target = _`
[INFO] [stdout]             which is required by `SSkipcas: Encode`
[INFO] [stdout]             `SSkipcas: WrapperTypeEncode`
[INFO] [stdout]             which is required by `SSkipcas: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `Indexed`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:226:11
[INFO] [stdout]     |
[INFO] [stdout]  31 | struct Indexed(u32, u64);
[INFO] [stdout]     | -------------- function or associated item `decode` not found for this struct because it doesn't satisfy `<Indexed as WrapperTypeDecode>::Wrapped = _`, `Indexed: Decode` or `Indexed: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 226 |     Indexed::decode(&mut wrong).unwrap();
[INFO] [stdout]     |              ^^^^^^ function or associated item cannot be called on `Indexed` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Indexed as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `Indexed: Decode`
[INFO] [stdout]             `Indexed: WrapperTypeDecode`
[INFO] [stdout]             which is required by `Indexed: Decode`
[INFO] [stdout]             `<&Indexed as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&Indexed: Decode`
[INFO] [stdout]             `&Indexed: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&Indexed: Decode`
[INFO] [stdout]             `<&mut Indexed as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut Indexed: Decode`
[INFO] [stdout]             `&mut Indexed: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut Indexed: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `Uh<u32>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:149:16
[INFO] [stdout]     |
[INFO] [stdout] 105 | struct Uh<T: HasCompact>(#[codec(encoded_as = "<T as HasCompact>::Type")] T)
[INFO] [stdout]     | ------------------------ method `encode` not found for this struct because it doesn't satisfy `<Uh<u32> as Deref>::Target = _`, `Uh<u32>: Encode` or `Uh<u32>: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 149 |     assert_eq!(uh.encode(), uh_encoded);
[INFO] [stdout]     |                   ^^^^^^ method cannot be called on `Uh<u32>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Uh<u32> as Deref>::Target = _`
[INFO] [stdout]             which is required by `Uh<u32>: Encode`
[INFO] [stdout]             `Uh<u32>: WrapperTypeEncode`
[INFO] [stdout]             which is required by `Uh<u32>: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `S`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout]   9 | struct S {
[INFO] [stdout]     | -------- function or associated item `decode` not found for this struct because it doesn't satisfy `<S as WrapperTypeDecode>::Wrapped = _`, `S: Decode` or `S: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 151 |     assert_eq!(s, S::decode(&mut s_encoded).unwrap());
[INFO] [stdout]     |                      ^^^^^^ function or associated item cannot be called on `S` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<S as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `S: Decode`
[INFO] [stdout]             `S: WrapperTypeDecode`
[INFO] [stdout]             which is required by `S: Decode`
[INFO] [stdout]             `<&S as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&S: Decode`
[INFO] [stdout]             `&S: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&S: Decode`
[INFO] [stdout]             `<&mut S as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut S: Decode`
[INFO] [stdout]             `&mut S: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut S: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `Indexed`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:233:11
[INFO] [stdout]     |
[INFO] [stdout]  31 | struct Indexed(u32, u64);
[INFO] [stdout]     | -------------- function or associated item `decode` not found for this struct because it doesn't satisfy `<Indexed as WrapperTypeDecode>::Wrapped = _`, `Indexed: Decode` or `Indexed: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 233 |     Indexed::decode(&mut wrong).unwrap();
[INFO] [stdout]     |              ^^^^^^ function or associated item cannot be called on `Indexed` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Indexed as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `Indexed: Decode`
[INFO] [stdout]             `Indexed: WrapperTypeDecode`
[INFO] [stdout]             which is required by `Indexed: Decode`
[INFO] [stdout]             `<&Indexed as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&Indexed: Decode`
[INFO] [stdout]             `&Indexed: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&Indexed: Decode`
[INFO] [stdout]             `<&mut Indexed as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut Indexed: Decode`
[INFO] [stdout]             `&mut Indexed: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut Indexed: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `SSkip`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:152:28
[INFO] [stdout]     |
[INFO] [stdout]  25 | struct SSkip {
[INFO] [stdout]     | ------------ function or associated item `decode` not found for this struct because it doesn't satisfy `<SSkip as WrapperTypeDecode>::Wrapped = _`, `SSkip: Decode` or `SSkip: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 152 |     assert_eq!(s_skip, SSkip::decode(&mut s_skip_encoded).unwrap());
[INFO] [stdout]     |                               ^^^^^^ function or associated item cannot be called on `SSkip` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<SSkip as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `SSkip: Decode`
[INFO] [stdout]             `SSkip: WrapperTypeDecode`
[INFO] [stdout]             which is required by `SSkip: Decode`
[INFO] [stdout]             `<&SSkip as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&SSkip: Decode`
[INFO] [stdout]             `&SSkip: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&SSkip: Decode`
[INFO] [stdout]             `<&mut SSkip as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut SSkip: Decode`
[INFO] [stdout]             `&mut SSkip: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut SSkip: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the variant or associated item `decode` exists for enum `EnumType`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | enum EnumType {
[INFO] [stdout]     | ------------- variant or associated item `decode` not found for this enum because it doesn't satisfy `<EnumType as WrapperTypeDecode>::Wrapped = _`, `EnumType: Decode` or `EnumType: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 240 |     EnumType::decode(&mut wrong).unwrap();
[INFO] [stdout]     |               ^^^^^^ variant or associated item cannot be called on `EnumType` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EnumType as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `EnumType: Decode`
[INFO] [stdout]             `EnumType: WrapperTypeDecode`
[INFO] [stdout]             which is required by `EnumType: Decode`
[INFO] [stdout]             `<&EnumType as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&EnumType: Decode`
[INFO] [stdout]             `&EnumType: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&EnumType: Decode`
[INFO] [stdout]             `<&mut EnumType as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut EnumType: Decode`
[INFO] [stdout]             `&mut EnumType: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut EnumType: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `Sc`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:153:21
[INFO] [stdout]     |
[INFO] [stdout]  34 | struct Sc {
[INFO] [stdout]     | --------- function or associated item `decode` not found for this struct because it doesn't satisfy `<Sc as WrapperTypeDecode>::Wrapped = _`, `Sc: Decode` or `Sc: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 153 |     assert_eq!(sc, Sc::decode(&mut sc_encoded).unwrap());
[INFO] [stdout]     |                        ^^^^^^ function or associated item cannot be called on `Sc` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Sc as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `Sc: Decode`
[INFO] [stdout]             `Sc: WrapperTypeDecode`
[INFO] [stdout]             which is required by `Sc: Decode`
[INFO] [stdout]             `<&Sc as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&Sc: Decode`
[INFO] [stdout]             `&Sc: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&Sc: Decode`
[INFO] [stdout]             `<&mut Sc as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut Sc: Decode`
[INFO] [stdout]             `&mut Sc: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut Sc: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `Struct<u32, u32, u32>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:247:27
[INFO] [stdout]     |
[INFO] [stdout]  34 | struct Struct<A, B, C> {
[INFO] [stdout]     | ---------------------- function or associated item `decode` not found for this struct because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `Struct<u32, u32, u32>: Decode` or `Struct<u32, u32, u32>: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 247 |     Struct::<u32, u32, u32>::decode(&mut wrong).unwrap();
[INFO] [stdout]     |                              ^^^^^^ function or associated item cannot be called on `Struct<u32, u32, u32>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Struct<u32, u32, u32>`, consider using `Struct::<A, B, C>::new` which returns `Struct<_, _, _>`
[INFO] [stdout]    --> tests/mod.rs:50:2
[INFO] [stdout]     |
[INFO] [stdout]  50 |     fn new(a: A, b: B, c: C) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Struct<u32, u32, u32> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `Struct<u32, u32, u32>: Decode`
[INFO] [stdout]             `Struct<u32, u32, u32>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `Struct<u32, u32, u32>: Decode`
[INFO] [stdout]             `<&Struct<u32, u32, u32> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&Struct<u32, u32, u32>: Decode`
[INFO] [stdout]             `&Struct<u32, u32, u32>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&Struct<u32, u32, u32>: Decode`
[INFO] [stdout]             `<&mut Struct<u32, u32, u32> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut Struct<u32, u32, u32>: Decode`
[INFO] [stdout]             `&mut Struct<u32, u32, u32>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut Struct<u32, u32, u32>: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `Sh<_>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:154:21
[INFO] [stdout]     |
[INFO] [stdout]  40 | struct Sh<T: HasCompact>
[INFO] [stdout]     | ------------------------ function or associated item `decode` not found for this struct because it doesn't satisfy `<Sh<_> as WrapperTypeDecode>::Wrapped = _`, `Sh<_>: Decode` or `Sh<_>: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 154 |     assert_eq!(sh, Sh::decode(&mut sh_encoded).unwrap());
[INFO] [stdout]     |                        ^^^^^^ function or associated item cannot be called on `Sh<_>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Sh<_> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `Sh<_>: Decode`
[INFO] [stdout]             `Sh<_>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `Sh<_>: Decode`
[INFO] [stdout]             `<&Sh<_> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&Sh<_>: Decode`
[INFO] [stdout]             `&Sh<_>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&Sh<_>: Decode`
[INFO] [stdout]             `<&mut Sh<_> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut Sh<_>: Decode`
[INFO] [stdout]             `&mut Sh<_>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut Sh<_>: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `Struct<u32, u32, u32>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:254:27
[INFO] [stdout]     |
[INFO] [stdout]  34 | struct Struct<A, B, C> {
[INFO] [stdout]     | ---------------------- function or associated item `decode` not found for this struct because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `Struct<u32, u32, u32>: Decode` or `Struct<u32, u32, u32>: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 254 |     Struct::<u32, u32, u32>::decode(&mut wrong).unwrap();
[INFO] [stdout]     |                              ^^^^^^ function or associated item cannot be called on `Struct<u32, u32, u32>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Struct<u32, u32, u32>`, consider using `Struct::<A, B, C>::new` which returns `Struct<_, _, _>`
[INFO] [stdout]    --> tests/mod.rs:50:2
[INFO] [stdout]     |
[INFO] [stdout]  50 |     fn new(a: A, b: B, c: C) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Struct<u32, u32, u32> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `Struct<u32, u32, u32>: Decode`
[INFO] [stdout]             `Struct<u32, u32, u32>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `Struct<u32, u32, u32>: Decode`
[INFO] [stdout]             `<&Struct<u32, u32, u32> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&Struct<u32, u32, u32>: Decode`
[INFO] [stdout]             `&Struct<u32, u32, u32>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&Struct<u32, u32, u32>: Decode`
[INFO] [stdout]             `<&mut Struct<u32, u32, u32> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut Struct<u32, u32, u32>: Decode`
[INFO] [stdout]             `&mut Struct<u32, u32, u32>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut Struct<u32, u32, u32>: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `U`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:155:19
[INFO] [stdout]     |
[INFO] [stdout]  60 | struct U(u32);
[INFO] [stdout]     | -------- function or associated item `decode` not found for this struct because it doesn't satisfy `<U as WrapperTypeDecode>::Wrapped = _`, `U: Decode` or `U: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 155 |     assert_eq!(u, U::decode(&mut u_encoded).unwrap());
[INFO] [stdout]     |                      ^^^^^^ function or associated item cannot be called on `U` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<U as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `U: Decode`
[INFO] [stdout]             `U: WrapperTypeDecode`
[INFO] [stdout]             which is required by `U: Decode`
[INFO] [stdout]             `<&U as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&U: Decode`
[INFO] [stdout]             `&U: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&U: Decode`
[INFO] [stdout]             `<&mut U as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut U: Decode`
[INFO] [stdout]             `&mut U: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut U: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `USkip`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:156:28
[INFO] [stdout]     |
[INFO] [stdout]  90 | struct USkip(#[codec(skip)] u32, u32, #[codec(skip)] u32);
[INFO] [stdout]     | ------------ function or associated item `decode` not found for this struct because it doesn't satisfy `<USkip as WrapperTypeDecode>::Wrapped = _`, `USkip: Decode` or `USkip: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 156 |     assert_eq!(u_skip, USkip::decode(&mut u_skip_encoded).unwrap());
[INFO] [stdout]     |                               ^^^^^^ function or associated item cannot be called on `USkip` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<USkip as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `USkip: Decode`
[INFO] [stdout]             `USkip: WrapperTypeDecode`
[INFO] [stdout]             which is required by `USkip: Decode`
[INFO] [stdout]             `<&USkip as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&USkip: Decode`
[INFO] [stdout]             `&USkip: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&USkip: Decode`
[INFO] [stdout]             `<&mut USkip as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut USkip: Decode`
[INFO] [stdout]             `&mut USkip: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut USkip: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `Uc`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:157:21
[INFO] [stdout]     |
[INFO] [stdout]  93 | struct Uc(#[codec(compact)] u32);
[INFO] [stdout]     | --------- function or associated item `decode` not found for this struct because it doesn't satisfy `<Uc as WrapperTypeDecode>::Wrapped = _`, `Uc: Decode` or `Uc: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 157 |     assert_eq!(uc, Uc::decode(&mut uc_encoded).unwrap());
[INFO] [stdout]     |                        ^^^^^^ function or associated item cannot be called on `Uc` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Uc as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `Uc: Decode`
[INFO] [stdout]             `Uc: WrapperTypeDecode`
[INFO] [stdout]             which is required by `Uc: Decode`
[INFO] [stdout]             `<&Uc as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&Uc: Decode`
[INFO] [stdout]             `&Uc: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&Uc: Decode`
[INFO] [stdout]             `<&mut Uc as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut Uc: Decode`
[INFO] [stdout]             `&mut Uc: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut Uc: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `TestHasCompact<u64>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:294:43
[INFO] [stdout]     |
[INFO] [stdout]  74 | struct TestHasCompact<T: HasCompact>
[INFO] [stdout]     | ------------------------------------ method `encode` not found for this struct because it doesn't satisfy `<TestHasCompact<u64> as Deref>::Target = _`, `TestHasCompact<u64>: Encode` or `TestHasCompact<u64>: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 294 |         let encoded = TestHasCompact { bar: n }.encode();
[INFO] [stdout]     |                                                 ^^^^^^ method cannot be called on `TestHasCompact<u64>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<TestHasCompact<u64> as Deref>::Target = _`
[INFO] [stdout]             which is required by `TestHasCompact<u64>: Encode`
[INFO] [stdout]             `TestHasCompact<u64>: WrapperTypeEncode`
[INFO] [stdout]             which is required by `TestHasCompact<u64>: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `Compact<U>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:158:35
[INFO] [stdout]     |
[INFO] [stdout] 158 |     assert_eq!(ucom, <Compact::<U>>::decode(&mut ucom_encoded).unwrap());
[INFO] [stdout]     |                                      ^^^^^^ function or associated item cannot be called on `Compact<U>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<&Compact<U> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&Compact<U>: Decode`
[INFO] [stdout]             `&Compact<U>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&Compact<U>: Decode`
[INFO] [stdout]             `<&mut Compact<U> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut Compact<U>: Decode`
[INFO] [stdout]             `&mut Compact<U>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut Compact<U>: Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `TestHasCompact<u64>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:297:37
[INFO] [stdout]     |
[INFO] [stdout]  74 | struct TestHasCompact<T: HasCompact>
[INFO] [stdout]     | ------------------------------------ function or associated item `decode` not found for this struct because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `TestHasCompact<u64>: Decode` or `TestHasCompact<u64>: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 297 |         assert_eq!(<TestHasCompact<u64>>::decode(&mut &encoded[..]).unwrap().bar, n);
[INFO] [stdout]     |                                           ^^^^^^ function or associated item cannot be called on `TestHasCompact<u64>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<TestHasCompact<u64> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `TestHasCompact<u64>: Decode`
[INFO] [stdout]             `TestHasCompact<u64>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `TestHasCompact<u64>: Decode`
[INFO] [stdout]             `<&TestHasCompact<u64> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&TestHasCompact<u64>: Decode`
[INFO] [stdout]             `&TestHasCompact<u64>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&TestHasCompact<u64>: Decode`
[INFO] [stdout]             `<&mut TestHasCompact<u64> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut TestHasCompact<u64>: Decode`
[INFO] [stdout]             `&mut TestHasCompact<u64>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut TestHasCompact<u64>: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `Ucas`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:159:25
[INFO] [stdout]     |
[INFO] [stdout]  96 | struct Ucas(#[codec(compact)] U);
[INFO] [stdout]     | ----------- function or associated item `decode` not found for this struct because it doesn't satisfy `<Ucas as WrapperTypeDecode>::Wrapped = _`, `Ucas: Decode` or `Ucas: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 159 |     assert_eq!(ucas, Ucas::decode(&mut ucas_encoded).unwrap());
[INFO] [stdout]     |                            ^^^^^^ function or associated item cannot be called on `Ucas` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Ucas as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `Ucas: Decode`
[INFO] [stdout]             `Ucas: WrapperTypeDecode`
[INFO] [stdout]             which is required by `Ucas: Decode`
[INFO] [stdout]             `<&Ucas as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&Ucas: Decode`
[INFO] [stdout]             `&Ucas: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&Ucas: Decode`
[INFO] [stdout]             `<&mut Ucas as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut Ucas: Decode`
[INFO] [stdout]             `&mut Ucas: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut Ucas: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `TestHasCompact<u64>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:304:43
[INFO] [stdout]     |
[INFO] [stdout]  74 | struct TestHasCompact<T: HasCompact>
[INFO] [stdout]     | ------------------------------------ method `encode` not found for this struct because it doesn't satisfy `<TestHasCompact<u64> as Deref>::Target = _`, `TestHasCompact<u64>: Encode` or `TestHasCompact<u64>: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 304 |         let encoded = TestHasCompact { bar: n }.encode();
[INFO] [stdout]     |                                                 ^^^^^^ method cannot be called on `TestHasCompact<u64>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<TestHasCompact<u64> as Deref>::Target = _`
[INFO] [stdout]             which is required by `TestHasCompact<u64>: Encode`
[INFO] [stdout]             `TestHasCompact<u64>: WrapperTypeEncode`
[INFO] [stdout]             which is required by `TestHasCompact<u64>: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `USkipcas`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout]  99 | struct USkipcas(#[codec(compact)] USkip);
[INFO] [stdout]     | --------------- function or associated item `decode` not found for this struct because it doesn't satisfy `<USkipcas as WrapperTypeDecode>::Wrapped = _`, `USkipcas: Decode` or `USkipcas: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 160 |     assert_eq!(u_skip_cas, USkipcas::decode(&mut u_skip_cas_encoded).unwrap());
[INFO] [stdout]     |                                      ^^^^^^ function or associated item cannot be called on `USkipcas` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<USkipcas as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `USkipcas: Decode`
[INFO] [stdout]             `USkipcas: WrapperTypeDecode`
[INFO] [stdout]             which is required by `USkipcas: Decode`
[INFO] [stdout]             `<&USkipcas as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&USkipcas: Decode`
[INFO] [stdout]             `&USkipcas: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&USkipcas: Decode`
[INFO] [stdout]             `<&mut USkipcas as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut USkipcas: Decode`
[INFO] [stdout]             `&mut USkipcas: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut USkipcas: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `TestCompactHasCompact<u64>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:307:44
[INFO] [stdout]     |
[INFO] [stdout]  83 | struct TestCompactHasCompact<T: HasCompact> {
[INFO] [stdout]     | ------------------------------------------- function or associated item `decode` not found for this struct because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `TestCompactHasCompact<u64>: Decode` or `TestCompactHasCompact<u64>: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 307 |         assert_eq!(<TestCompactHasCompact<u64>>::decode(&mut &encoded[..]).unwrap().bar, n);
[INFO] [stdout]     |                                                  ^^^^^^ function or associated item cannot be called on `TestCompactHasCompact<u64>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<TestCompactHasCompact<u64> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `TestCompactHasCompact<u64>: Decode`
[INFO] [stdout]             `TestCompactHasCompact<u64>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `TestCompactHasCompact<u64>: Decode`
[INFO] [stdout]             `<&TestCompactHasCompact<u64> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&TestCompactHasCompact<u64>: Decode`
[INFO] [stdout]             `&TestCompactHasCompact<u64>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&TestCompactHasCompact<u64>: Decode`
[INFO] [stdout]             `<&mut TestCompactHasCompact<u64> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut TestCompactHasCompact<u64>: Decode`
[INFO] [stdout]             `&mut TestCompactHasCompact<u64>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut TestCompactHasCompact<u64>: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `SSkipcas`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:161:35
[INFO] [stdout]     |
[INFO] [stdout] 102 | struct SSkipcas(#[codec(compact)] SSkip);
[INFO] [stdout]     | --------------- function or associated item `decode` not found for this struct because it doesn't satisfy `<SSkipcas as WrapperTypeDecode>::Wrapped = _`, `SSkipcas: Decode` or `SSkipcas: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 161 |     assert_eq!(s_skip_cas, SSkipcas::decode(&mut s_skip_cas_encoded).unwrap());
[INFO] [stdout]     |                                      ^^^^^^ function or associated item cannot be called on `SSkipcas` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<SSkipcas as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `SSkipcas: Decode`
[INFO] [stdout]             `SSkipcas: WrapperTypeDecode`
[INFO] [stdout]             which is required by `SSkipcas: Decode`
[INFO] [stdout]             `<&SSkipcas as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&SSkipcas: Decode`
[INFO] [stdout]             `&SSkipcas: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&SSkipcas: Decode`
[INFO] [stdout]             `<&mut SSkipcas as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut SSkipcas: Decode`
[INFO] [stdout]             `&mut SSkipcas: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut SSkipcas: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for reference `&TestHasCompactEnum<u64>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:322:24
[INFO] [stdout]     |
[INFO] [stdout]  89 | enum TestHasCompactEnum<T: HasCompact> {
[INFO] [stdout]     | -------------------------------------- doesn't satisfy `<TestHasCompactEnum<u64> as Deref>::Target = _`, `TestHasCompactEnum<u64>: Encode` or `TestHasCompactEnum<u64>: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 322 |             let encoded = value.encode();
[INFO] [stdout]     |                                 ^^^^^^ method cannot be called on `&TestHasCompactEnum<u64>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<TestHasCompactEnum<u64> as Deref>::Target = _`
[INFO] [stdout]             which is required by `TestHasCompactEnum<u64>: Encode`
[INFO] [stdout]             `TestHasCompactEnum<u64>: WrapperTypeEncode`
[INFO] [stdout]             which is required by `TestHasCompactEnum<u64>: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `Uh<_>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/single_field_struct_encoding.rs:162:21
[INFO] [stdout]     |
[INFO] [stdout] 105 | struct Uh<T: HasCompact>(#[codec(encoded_as = "<T as HasCompact>::Type")] T)
[INFO] [stdout]     | ------------------------ function or associated item `decode` not found for this struct because it doesn't satisfy `<Uh<_> as WrapperTypeDecode>::Wrapped = _`, `Uh<_>: Decode` or `Uh<_>: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 162 |     assert_eq!(uh, Uh::decode(&mut uh_encoded).unwrap());
[INFO] [stdout]     |                        ^^^^^^ function or associated item cannot be called on `Uh<_>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Uh<_> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `Uh<_>: Decode`
[INFO] [stdout]             `Uh<_>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `Uh<_>: Decode`
[INFO] [stdout]             `<&Uh<_> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&Uh<_>: Decode`
[INFO] [stdout]             `&Uh<_>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&Uh<_>: Decode`
[INFO] [stdout]             `<&mut Uh<_> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut Uh<_>: Decode`
[INFO] [stdout]             `&mut Uh<_>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut Uh<_>: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the variant or associated item `decode` exists for enum `TestHasCompactEnum<u64>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:325:43
[INFO] [stdout]     |
[INFO] [stdout]  89 | enum TestHasCompactEnum<T: HasCompact> {
[INFO] [stdout]     | -------------------------------------- variant or associated item `decode` not found for this enum because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `TestHasCompactEnum<u64>: Decode` or `TestHasCompactEnum<u64>: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 325 |             assert_eq!(&<TestHasCompactEnum<u64>>::decode(&mut &encoded[..]).unwrap(), value);
[INFO] [stdout]     |                                                    ^^^^^^ variant or associated item cannot be called on `TestHasCompactEnum<u64>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<TestHasCompactEnum<u64> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `TestHasCompactEnum<u64>: Decode`
[INFO] [stdout]             `TestHasCompactEnum<u64>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `TestHasCompactEnum<u64>: Decode`
[INFO] [stdout]             `<&TestHasCompactEnum<u64> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&TestHasCompactEnum<u64>: Decode`
[INFO] [stdout]             `&TestHasCompactEnum<u64>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&TestHasCompactEnum<u64>: Decode`
[INFO] [stdout]             `<&mut TestHasCompactEnum<u64> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut TestHasCompactEnum<u64>: Decode`
[INFO] [stdout]             `&mut TestHasCompactEnum<u64>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut TestHasCompactEnum<u64>: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `TestCompactAttribute`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:333:49
[INFO] [stdout]     |
[INFO] [stdout] 103 | struct TestCompactAttribute {
[INFO] [stdout]     | --------------------------- method `encode` not found for this struct because it doesn't satisfy `<TestCompactAttribute as Deref>::Target = _`, `TestCompactAttribute: Encode` or `TestCompactAttribute: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 333 |         let encoded = TestCompactAttribute { bar: n }.encode();
[INFO] [stdout]     |                                                       ^^^^^^ method cannot be called on `TestCompactAttribute` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<TestCompactAttribute as Deref>::Target = _`
[INFO] [stdout]             which is required by `TestCompactAttribute: Encode`
[INFO] [stdout]             `TestCompactAttribute: WrapperTypeEncode`
[INFO] [stdout]             which is required by `TestCompactAttribute: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `TestCompactAttribute`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:335:36
[INFO] [stdout]     |
[INFO] [stdout] 103 | struct TestCompactAttribute {
[INFO] [stdout]     | --------------------------- function or associated item `decode` not found for this struct because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `TestCompactAttribute: Decode` or `TestCompactAttribute: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 335 |         assert_eq!(TestCompactAttribute::decode(&mut &encoded[..]).unwrap().bar, n);
[INFO] [stdout]     |                                          ^^^^^^ function or associated item cannot be called on `TestCompactAttribute` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<TestCompactAttribute as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `TestCompactAttribute: Decode`
[INFO] [stdout]             `TestCompactAttribute: WrapperTypeDecode`
[INFO] [stdout]             which is required by `TestCompactAttribute: Decode`
[INFO] [stdout]             `<&TestCompactAttribute as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&TestCompactAttribute: Decode`
[INFO] [stdout]             `&TestCompactAttribute: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&TestCompactAttribute: Decode`
[INFO] [stdout]             `<&mut TestCompactAttribute as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut TestCompactAttribute: Decode`
[INFO] [stdout]             `&mut TestCompactAttribute: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut TestCompactAttribute: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for reference `&TestCompactAttributeEnum`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:346:24
[INFO] [stdout]     |
[INFO] [stdout] 109 | enum TestCompactAttributeEnum {
[INFO] [stdout]     | ----------------------------- doesn't satisfy `<TestCompactAttributeEnum as Deref>::Target = _`, `TestCompactAttributeEnum: Encode` or `TestCompactAttributeEnum: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 346 |             let encoded = value.encode();
[INFO] [stdout]     |                                 ^^^^^^ method cannot be called on `&TestCompactAttributeEnum` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<TestCompactAttributeEnum as Deref>::Target = _`
[INFO] [stdout]             which is required by `TestCompactAttributeEnum: Encode`
[INFO] [stdout]             `TestCompactAttributeEnum: WrapperTypeEncode`
[INFO] [stdout]             which is required by `TestCompactAttributeEnum: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the variant or associated item `decode` exists for enum `TestCompactAttributeEnum`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:348:42
[INFO] [stdout]     |
[INFO] [stdout] 109 | enum TestCompactAttributeEnum {
[INFO] [stdout]     | ----------------------------- variant or associated item `decode` not found for this enum because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `TestCompactAttributeEnum: Decode` or `TestCompactAttributeEnum: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 348 |             assert_eq!(&TestCompactAttributeEnum::decode(&mut &encoded[..]).unwrap(), value);
[INFO] [stdout]     |                                                   ^^^^^^ variant or associated item cannot be called on `TestCompactAttributeEnum` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<TestCompactAttributeEnum as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `TestCompactAttributeEnum: Decode`
[INFO] [stdout]             `TestCompactAttributeEnum: WrapperTypeDecode`
[INFO] [stdout]             which is required by `TestCompactAttributeEnum: Decode`
[INFO] [stdout]             `<&TestCompactAttributeEnum as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&TestCompactAttributeEnum: Decode`
[INFO] [stdout]             `&TestCompactAttributeEnum: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&TestCompactAttributeEnum: Decode`
[INFO] [stdout]             `<&mut TestCompactAttributeEnum as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut TestCompactAttributeEnum: Decode`
[INFO] [stdout]             `&mut TestCompactAttributeEnum: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut TestCompactAttributeEnum: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `parity-scale-codec` (test "single_field_struct_encoding") due to 36 previous errors
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `associated_type_bounds::Struct<TraitImplementor, u64>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:376:22
[INFO] [stdout]     |
[INFO] [stdout] 361 |     struct Struct<T: Trait, Type> {
[INFO] [stdout]     |     ----------------------------- method `encode` not found for this struct because it doesn't satisfy `<_ as Deref>::Target = _`, `_: Encode` or `_: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 376 |     let encoded = value.encode();
[INFO] [stdout]     |                         ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<associated_type_bounds::Struct<TraitImplementor, u64> as Deref>::Target = _`
[INFO] [stdout]             which is required by `associated_type_bounds::Struct<TraitImplementor, u64>: Encode`
[INFO] [stdout]             `associated_type_bounds::Struct<TraitImplementor, u64>: WrapperTypeEncode`
[INFO] [stdout]             which is required by `associated_type_bounds::Struct<TraitImplementor, u64>: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `associated_type_bounds::Struct<_, _>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:377:55
[INFO] [stdout]     |
[INFO] [stdout] 361 |     struct Struct<T: Trait, Type> {
[INFO] [stdout]     |     ----------------------------- function or associated item `decode` not found for this struct because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `_: WrapperTypeDecode` or `associated_type_bounds::Struct<_, _>: Decode`
[INFO] [stdout] ...
[INFO] [stdout] 377 |     let decoded: Struct<TraitImplementor, u64> = Struct::decode(&mut &encoded[..]).unwrap();
[INFO] [stdout]     |                                                          ^^^^^^ function or associated item cannot be called on `associated_type_bounds::Struct<_, _>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<associated_type_bounds::Struct<_, _> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `associated_type_bounds::Struct<_, _>: Decode`
[INFO] [stdout]             `associated_type_bounds::Struct<_, _>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `associated_type_bounds::Struct<_, _>: Decode`
[INFO] [stdout]             `<&associated_type_bounds::Struct<_, _> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&associated_type_bounds::Struct<_, _>: Decode`
[INFO] [stdout]             `&associated_type_bounds::Struct<_, _>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&associated_type_bounds::Struct<_, _>: Decode`
[INFO] [stdout]             `<&mut associated_type_bounds::Struct<_, _> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut associated_type_bounds::Struct<_, _>: Decode`
[INFO] [stdout]             `&mut associated_type_bounds::Struct<_, _>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut associated_type_bounds::Struct<_, _>: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `TestGeneric<StructEncodeAsRef>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:413:4
[INFO] [stdout]     |
[INFO] [stdout] 404 |     struct TestGeneric<A: From<u32>>
[INFO] [stdout]     |     -------------------------------- method `encode` not found for this struct because it doesn't satisfy `<_ as Deref>::Target = _`, `TestGeneric<StructEncodeAsRef>: Encode` or `TestGeneric<StructEncodeAsRef>: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 413 |     a.encode();
[INFO] [stdout]     |       ^^^^^^ method cannot be called on `TestGeneric<StructEncodeAsRef>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<TestGeneric<StructEncodeAsRef> as Deref>::Target = _`
[INFO] [stdout]             which is required by `TestGeneric<StructEncodeAsRef>: Encode`
[INFO] [stdout]             `TestGeneric<StructEncodeAsRef>: WrapperTypeEncode`
[INFO] [stdout]             which is required by `TestGeneric<StructEncodeAsRef>: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for enum `TestGenericHasCompact<StructHasCompact>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:449:4
[INFO] [stdout]     |
[INFO] [stdout] 440 |     enum TestGenericHasCompact<T> {
[INFO] [stdout]     |     ----------------------------- method `encode` not found for this enum because it doesn't satisfy `<_ as Deref>::Target = _`, `TestGenericHasCompact<StructHasCompact>: Encode` or `_: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 449 |     a.encode();
[INFO] [stdout]     |       ^^^^^^ method cannot be called on `TestGenericHasCompact<StructHasCompact>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<TestGenericHasCompact<StructHasCompact> as Deref>::Target = _`
[INFO] [stdout]             which is required by `TestGenericHasCompact<StructHasCompact>: Encode`
[INFO] [stdout]             `TestGenericHasCompact<StructHasCompact>: WrapperTypeEncode`
[INFO] [stdout]             which is required by `TestGenericHasCompact<StructHasCompact>: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `TestGenericTrait<StructNoCodec>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:474:4
[INFO] [stdout]     |
[INFO] [stdout] 468 |     struct TestGenericTrait<T: TraitNoCodec> {
[INFO] [stdout]     |     ---------------------------------------- method `encode` not found for this struct because it doesn't satisfy `<_ as Deref>::Target = _`, `TestGenericTrait<StructNoCodec>: Encode` or `TestGenericTrait<StructNoCodec>: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 474 |     a.encode();
[INFO] [stdout]     |       ^^^^^^ method cannot be called on `TestGenericTrait<StructNoCodec>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<TestGenericTrait<StructNoCodec> as Deref>::Target = _`
[INFO] [stdout]             which is required by `TestGenericTrait<StructNoCodec>: Encode`
[INFO] [stdout]             `TestGenericTrait<StructNoCodec>: WrapperTypeEncode`
[INFO] [stdout]             which is required by `TestGenericTrait<StructNoCodec>: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `recursive_variant_1_encode_works::Recursive<u32>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:488:6
[INFO] [stdout]     |
[INFO] [stdout] 482 |     struct Recursive<N> {
[INFO] [stdout]     |     ------------------- method `encode` not found for this struct because it doesn't satisfy `<_ as Deref>::Target = _`, `_: Encode` or `_: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 488 |     val.encode();
[INFO] [stdout]     |         ^^^^^^ method cannot be called on `recursive_variant_1_encode_works::Recursive<u32>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<recursive_variant_1_encode_works::Recursive<u32> as Deref>::Target = _`
[INFO] [stdout]             which is required by `recursive_variant_1_encode_works::Recursive<u32>: Encode`
[INFO] [stdout]             `recursive_variant_1_encode_works::Recursive<u32>: WrapperTypeEncode`
[INFO] [stdout]             which is required by `recursive_variant_1_encode_works::Recursive<u32>: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `recursive_variant_2_encode_works::Recursive<u32, i32, u32>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:502:6
[INFO] [stdout]     |
[INFO] [stdout] 496 |     struct Recursive<A, B, N> {
[INFO] [stdout]     |     ------------------------- method `encode` not found for this struct because it doesn't satisfy `<_ as Deref>::Target = _`, `_: Encode` or `_: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 502 |     val.encode();
[INFO] [stdout]     |         ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<recursive_variant_2_encode_works::Recursive<u32, i32, u32> as Deref>::Target = _`
[INFO] [stdout]             which is required by `recursive_variant_2_encode_works::Recursive<u32, i32, u32>: Encode`
[INFO] [stdout]             `recursive_variant_2_encode_works::Recursive<u32, i32, u32>: WrapperTypeEncode`
[INFO] [stdout]             which is required by `recursive_variant_2_encode_works::Recursive<u32, i32, u32>: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `Test<u32>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:525:6
[INFO] [stdout]     |
[INFO] [stdout] 520 |     pub struct Test<N> {
[INFO] [stdout]     |     ------------------ method `encode` not found for this struct because it doesn't satisfy `<Test<u32> as Deref>::Target = _`, `Test<u32>: Encode` or `Test<u32>: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 525 |     val.encode();
[INFO] [stdout]     |         ^^^^^^ method cannot be called on `Test<u32>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Test<u32> as Deref>::Target = _`
[INFO] [stdout]             which is required by `Test<u32>: Encode`
[INFO] [stdout]             `Test<u32>: WrapperTypeEncode`
[INFO] [stdout]             which is required by `Test<u32>: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `EmptyEnumDerive: Encode` is not satisfied
[INFO] [stdout]    --> tests/mod.rs:534:24
[INFO] [stdout]     |
[INFO] [stdout] 534 |     impls_encode_decode::<EmptyEnumDerive>();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `WrapperTypeEncode` is not implemented for `EmptyEnumDerive`
[INFO] [stdout]    --> tests/mod.rs:531:2
[INFO] [stdout]     |
[INFO] [stdout] 531 |     enum EmptyEnumDerive {}
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `WrapperTypeEncode`:
[INFO] [stdout]               &T
[INFO] [stdout]               &mut T
[INFO] [stdout]               Arc<T>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Cow<'_, T>
[INFO] [stdout]               Rc<T>
[INFO] [stdout]               Vec<T>
[INFO] [stdout]               parity_scale_codec::Ref<'_, T, U>
[INFO] [stdout]               std::string::String
[INFO] [stdout]     = note: required for `EmptyEnumDerive` to implement `Encode`
[INFO] [stdout] note: required by a bound in `impls_encode_decode`
[INFO] [stdout]    --> tests/mod.rs:533:28
[INFO] [stdout]     |
[INFO] [stdout] 533 |     fn impls_encode_decode<T: Encode + Decode>() {}
[INFO] [stdout]     |                               ^^^^^^ required by this bound in `impls_encode_decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `EmptyEnumDerive: Decode` is not satisfied
[INFO] [stdout]    --> tests/mod.rs:534:24
[INFO] [stdout]     |
[INFO] [stdout] 534 |     impls_encode_decode::<EmptyEnumDerive>();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `WrapperTypeDecode` is not implemented for `EmptyEnumDerive`
[INFO] [stdout]    --> tests/mod.rs:531:2
[INFO] [stdout]     |
[INFO] [stdout] 531 |     enum EmptyEnumDerive {}
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `WrapperTypeDecode`:
[INFO] [stdout]               Arc<T>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Rc<T>
[INFO] [stdout]     = note: required for `EmptyEnumDerive` to implement `Decode`
[INFO] [stdout] note: required by a bound in `impls_encode_decode`
[INFO] [stdout]    --> tests/mod.rs:533:37
[INFO] [stdout]     |
[INFO] [stdout] 533 |     fn impls_encode_decode<T: Encode + Decode>() {}
[INFO] [stdout]     |                                        ^^^^^^ required by this bound in `impls_encode_decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the variant or associated item `decode` exists for enum `EmptyEnumDerive`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:537:20
[INFO] [stdout]     |
[INFO] [stdout] 531 |     enum EmptyEnumDerive {}
[INFO] [stdout]     |     -------------------- variant or associated item `decode` not found for this enum because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `EmptyEnumDerive: Decode` or `EmptyEnumDerive: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 537 |         EmptyEnumDerive::decode(&mut &[1, 2, 3][..]),
[INFO] [stdout]     |                          ^^^^^^ variant or associated item cannot be called on `EmptyEnumDerive` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<EmptyEnumDerive as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `EmptyEnumDerive: Decode`
[INFO] [stdout]             `EmptyEnumDerive: WrapperTypeDecode`
[INFO] [stdout]             which is required by `EmptyEnumDerive: Decode`
[INFO] [stdout]             `<&EmptyEnumDerive as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&EmptyEnumDerive: Decode`
[INFO] [stdout]             `&EmptyEnumDerive: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&EmptyEnumDerive: Decode`
[INFO] [stdout]             `<&mut EmptyEnumDerive as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut EmptyEnumDerive: Decode`
[INFO] [stdout]             `&mut EmptyEnumDerive: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut EmptyEnumDerive: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for struct `Something<NotEncode, u32>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:637:5
[INFO] [stdout]     |
[INFO] [stdout] 620 |       struct Something<T, N> {
[INFO] [stdout]     |       ---------------------- method `encode` not found for this struct because it doesn't satisfy `<Something<NotEncode, u32> as Deref>::Target = _`, `Something<NotEncode, u32>: Encode` or `Something<NotEncode, u32>: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 636 | /         Something::<NotEncode, u32> { hello: Hello { _phantom: Default::default() }, val: 32u32 }
[INFO] [stdout] 637 | |             .encode();
[INFO] [stdout]     | |             -^^^^^^ method cannot be called on `Something<NotEncode, u32>` due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Something<NotEncode, u32> as Deref>::Target = _`
[INFO] [stdout]             which is required by `Something<NotEncode, u32>: Encode`
[INFO] [stdout]             `Something<NotEncode, u32>: WrapperTypeEncode`
[INFO] [stdout]             which is required by `Something<NotEncode, u32>: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `Something<NotEncode, u32>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:639:31
[INFO] [stdout]     |
[INFO] [stdout] 620 |     struct Something<T, N> {
[INFO] [stdout]     |     ---------------------- function or associated item `decode` not found for this struct because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `Something<NotEncode, u32>: Decode` or `Something<NotEncode, u32>: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 639 |     Something::<NotEncode, u32>::decode(&mut &encoded[..]).unwrap();
[INFO] [stdout]     |                                  ^^^^^^ function or associated item cannot be called on `Something<NotEncode, u32>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<Something<NotEncode, u32> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `Something<NotEncode, u32>: Decode`
[INFO] [stdout]             `Something<NotEncode, u32>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `Something<NotEncode, u32>: Decode`
[INFO] [stdout]             `<&Something<NotEncode, u32> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&Something<NotEncode, u32>: Decode`
[INFO] [stdout]             `&Something<NotEncode, u32>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&Something<NotEncode, u32>: Decode`
[INFO] [stdout]             `<&mut Something<NotEncode, u32> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut Something<NotEncode, u32>: Decode`
[INFO] [stdout]             `&mut Something<NotEncode, u32>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut Something<NotEncode, u32>: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `HugeArrayNewtypeBox`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:713:31
[INFO] [stdout]     |
[INFO] [stdout] 710 |     struct HugeArrayNewtypeBox(#[allow(dead_code)] Box<HugeArrayNewtype>);
[INFO] [stdout]     |     -------------------------- function or associated item `decode` not found for this struct because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `HugeArrayNewtypeBox: Decode` or `HugeArrayNewtypeBox: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 713 |     assert!(HugeArrayNewtypeBox::decode(&mut data.as_slice()).is_err());
[INFO] [stdout]     |                                  ^^^^^^ function or associated item cannot be called on `HugeArrayNewtypeBox` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<HugeArrayNewtypeBox as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `HugeArrayNewtypeBox: Decode`
[INFO] [stdout]             `HugeArrayNewtypeBox: WrapperTypeDecode`
[INFO] [stdout]             which is required by `HugeArrayNewtypeBox: Decode`
[INFO] [stdout]             `<&HugeArrayNewtypeBox as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&HugeArrayNewtypeBox: Decode`
[INFO] [stdout]             `&HugeArrayNewtypeBox: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&HugeArrayNewtypeBox: Decode`
[INFO] [stdout]             `<&mut HugeArrayNewtypeBox as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut HugeArrayNewtypeBox: Decode`
[INFO] [stdout]             `&mut HugeArrayNewtypeBox: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut HugeArrayNewtypeBox: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `SmallArraysBox`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:728:20
[INFO] [stdout]     |
[INFO] [stdout] 724 |     struct SmallArraysBox(Box<SmallArrays>);
[INFO] [stdout]     |     --------------------- function or associated item `decode` not found for this struct because it doesn't satisfy `<SmallArraysBox as WrapperTypeDecode>::Wrapped = _`, `SmallArraysBox: Decode` or `SmallArraysBox: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 728 |         *SmallArraysBox::decode(&mut data.as_slice()).unwrap().0,
[INFO] [stdout]     |                          ^^^^^^ function or associated item cannot be called on `SmallArraysBox` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<SmallArraysBox as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `SmallArraysBox: Decode`
[INFO] [stdout]             `SmallArraysBox: WrapperTypeDecode`
[INFO] [stdout]             which is required by `SmallArraysBox: Decode`
[INFO] [stdout]             `<&SmallArraysBox as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&SmallArraysBox: Decode`
[INFO] [stdout]             `&SmallArraysBox: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&SmallArraysBox: Decode`
[INFO] [stdout]             `<&mut SmallArraysBox as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut SmallArraysBox: Decode`
[INFO] [stdout]             `&mut SmallArraysBox: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut SmallArraysBox: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `zero_sized_types_are_properly_decoded_in_a_transparent_boxed_struct::NewtypeWithZst`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:768:29
[INFO] [stdout]     |
[INFO] [stdout] 746 |     struct NewtypeWithZst {
[INFO] [stdout]     |     --------------------- function or associated item `decode` not found for this struct because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `_: Decode` or `_: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 768 |     assert_eq!(NewtypeWithZst::decode(&mut data.as_slice()).unwrap().field, [2]);
[INFO] [stdout]     |                                ^^^^^^ function or associated item cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<zero_sized_types_are_properly_decoded_in_a_transparent_boxed_struct::NewtypeWithZst as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `zero_sized_types_are_properly_decoded_in_a_transparent_boxed_struct::NewtypeWithZst: Decode`
[INFO] [stdout]             `zero_sized_types_are_properly_decoded_in_a_transparent_boxed_struct::NewtypeWithZst: WrapperTypeDecode`
[INFO] [stdout]             which is required by `zero_sized_types_are_properly_decoded_in_a_transparent_boxed_struct::NewtypeWithZst: Decode`
[INFO] [stdout]             `<&zero_sized_types_are_properly_decoded_in_a_transparent_boxed_struct::NewtypeWithZst as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&zero_sized_types_are_properly_decoded_in_a_transparent_boxed_struct::NewtypeWithZst: Decode`
[INFO] [stdout]             `&zero_sized_types_are_properly_decoded_in_a_transparent_boxed_struct::NewtypeWithZst: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&zero_sized_types_are_properly_decoded_in_a_transparent_boxed_struct::NewtypeWithZst: Decode`
[INFO] [stdout]             `<&mut zero_sized_types_are_properly_decoded_in_a_transparent_boxed_struct::NewtypeWithZst as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut zero_sized_types_are_properly_decoded_in_a_transparent_boxed_struct::NewtypeWithZst: Decode`
[INFO] [stdout]             `&mut zero_sized_types_are_properly_decoded_in_a_transparent_boxed_struct::NewtypeWithZst: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut zero_sized_types_are_properly_decoded_in_a_transparent_boxed_struct::NewtypeWithZst: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `NewtypeWithZst`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:786:26
[INFO] [stdout]     |
[INFO] [stdout] 779 |     struct NewtypeWithZst(Zst);
[INFO] [stdout]     |     --------------------- function or associated item `decode` not found for this struct because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `_: Decode` or `_: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 786 |     assert!(NewtypeWithZst::decode(&mut data.as_slice()).is_ok());
[INFO] [stdout]     |                             ^^^^^^ function or associated item cannot be called on `NewtypeWithZst` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<boxed_zero_sized_newtype_with_everything_being_transparent_is_decoded_correctly::NewtypeWithZst as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `boxed_zero_sized_newtype_with_everything_being_transparent_is_decoded_correctly::NewtypeWithZst: Decode`
[INFO] [stdout]             `boxed_zero_sized_newtype_with_everything_being_transparent_is_decoded_correctly::NewtypeWithZst: WrapperTypeDecode`
[INFO] [stdout]             which is required by `boxed_zero_sized_newtype_with_everything_being_transparent_is_decoded_correctly::NewtypeWithZst: Decode`
[INFO] [stdout]             `<&boxed_zero_sized_newtype_with_everything_being_transparent_is_decoded_correctly::NewtypeWithZst as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&boxed_zero_sized_newtype_with_everything_being_transparent_is_decoded_correctly::NewtypeWithZst: Decode`
[INFO] [stdout]             `&boxed_zero_sized_newtype_with_everything_being_transparent_is_decoded_correctly::NewtypeWithZst: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&boxed_zero_sized_newtype_with_everything_being_transparent_is_decoded_correctly::NewtypeWithZst: Decode`
[INFO] [stdout]             `<&mut boxed_zero_sized_newtype_with_everything_being_transparent_is_decoded_correctly::NewtypeWithZst as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut boxed_zero_sized_newtype_with_everything_being_transparent_is_decoded_correctly::NewtypeWithZst: Decode`
[INFO] [stdout]             `&mut boxed_zero_sized_newtype_with_everything_being_transparent_is_decoded_correctly::NewtypeWithZst: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut boxed_zero_sized_newtype_with_everything_being_transparent_is_decoded_correctly::NewtypeWithZst: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mod-980a7f2d67526df3.long-type-15675959012718381237.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for array `[incomplete_decoding_of_an_array_drops_partially_read_elements_if_reading_fails::Foobar; 4]`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:819:25
[INFO] [stdout]     |
[INFO] [stdout] 819 |     assert!(<[Foobar; 4]>::decode(&mut data.as_slice()).is_err());
[INFO] [stdout]     |                            ^^^^^^ function or associated item cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<&[incomplete_decoding_of_an_array_drops_partially_read_elements_if_reading_fails::Foobar; 4] as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&[incomplete_decoding_of_an_array_drops_partially_read_elements_if_reading_fails::Foobar; 4]: Decode`
[INFO] [stdout]             `&[incomplete_decoding_of_an_array_drops_partially_read_elements_if_reading_fails::Foobar; 4]: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&[incomplete_decoding_of_an_array_drops_partially_read_elements_if_reading_fails::Foobar; 4]: Decode`
[INFO] [stdout]             `<&mut [incomplete_decoding_of_an_array_drops_partially_read_elements_if_reading_fails::Foobar; 4] as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut [incomplete_decoding_of_an_array_drops_partially_read_elements_if_reading_fails::Foobar; 4]: Decode`
[INFO] [stdout]             `&mut [incomplete_decoding_of_an_array_drops_partially_read_elements_if_reading_fails::Foobar; 4]: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut [incomplete_decoding_of_an_array_drops_partially_read_elements_if_reading_fails::Foobar; 4]: Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `encode` exists for enum `deserializing_of_big_recursively_nested_enum_works::Enum`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:924:17
[INFO] [stdout]     |
[INFO] [stdout] 869 |     enum Enum {
[INFO] [stdout]     |     --------- method `encode` not found for this enum because it doesn't satisfy `<_ as Deref>::Target = _`, `_: Encode` or `_: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 924 |     let data = obj.encode();
[INFO] [stdout]     |                    ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<deserializing_of_big_recursively_nested_enum_works::Enum as Deref>::Target = _`
[INFO] [stdout]             which is required by `deserializing_of_big_recursively_nested_enum_works::Enum: Encode`
[INFO] [stdout]             `deserializing_of_big_recursively_nested_enum_works::Enum: WrapperTypeEncode`
[INFO] [stdout]             which is required by `deserializing_of_big_recursively_nested_enum_works::Enum: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `encode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the variant or associated item `decode` exists for enum `deserializing_of_big_recursively_nested_enum_works::Enum`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:927:20
[INFO] [stdout]     |
[INFO] [stdout] 869 |     enum Enum {
[INFO] [stdout]     |     --------- variant or associated item `decode` not found for this enum because it doesn't satisfy `<_ as WrapperTypeDecode>::Wrapped = _`, `_: Decode` or `_: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 927 |     let obj_d = Enum::decode(&mut &data[..]).unwrap();
[INFO] [stdout]     |                       ^^^^^^ variant or associated item cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<deserializing_of_big_recursively_nested_enum_works::Enum as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `deserializing_of_big_recursively_nested_enum_works::Enum: Decode`
[INFO] [stdout]             `deserializing_of_big_recursively_nested_enum_works::Enum: WrapperTypeDecode`
[INFO] [stdout]             which is required by `deserializing_of_big_recursively_nested_enum_works::Enum: Decode`
[INFO] [stdout]             `<&deserializing_of_big_recursively_nested_enum_works::Enum as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&deserializing_of_big_recursively_nested_enum_works::Enum: Decode`
[INFO] [stdout]             `&deserializing_of_big_recursively_nested_enum_works::Enum: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&deserializing_of_big_recursively_nested_enum_works::Enum: Decode`
[INFO] [stdout]             `<&mut deserializing_of_big_recursively_nested_enum_works::Enum as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut deserializing_of_big_recursively_nested_enum_works::Enum: Decode`
[INFO] [stdout]             `&mut deserializing_of_big_recursively_nested_enum_works::Enum: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut deserializing_of_big_recursively_nested_enum_works::Enum: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the variant or associated item `decode_with_depth_limit` exists for enum `deserializing_of_big_recursively_nested_enum_works::Enum`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:933:21
[INFO] [stdout]     |
[INFO] [stdout] 869 |     enum Enum {
[INFO] [stdout]     |     --------- variant or associated item `decode_with_depth_limit` not found for this enum because it doesn't satisfy `_: DecodeLimit` or `_: Decode`
[INFO] [stdout] ...
[INFO] [stdout] 933 |     let obj_d2 = Enum::decode_with_depth_limit(40, &mut &data[..]).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^ variant or associated item cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `deserializing_of_big_recursively_nested_enum_works::Enum: Decode`
[INFO] [stdout]             which is required by `deserializing_of_big_recursively_nested_enum_works::Enum: DecodeLimit`
[INFO] [stdout]             `&deserializing_of_big_recursively_nested_enum_works::Enum: Decode`
[INFO] [stdout]             which is required by `&deserializing_of_big_recursively_nested_enum_works::Enum: DecodeLimit`
[INFO] [stdout]             `&mut deserializing_of_big_recursively_nested_enum_works::Enum: Decode`
[INFO] [stdout]             which is required by `&mut deserializing_of_big_recursively_nested_enum_works::Enum: DecodeLimit`
[INFO] [stdout] note: the trait `Decode` must be implemented
[INFO] [stdout]    --> /opt/rustwide/workdir/src/codec.rs:296:1
[INFO] [stdout]     |
[INFO] [stdout] 296 | pub trait Decode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode_with_depth_limit`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `DecodeLimit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `encode` found for struct `Vec<derive_decode_for_enum_with_lifetime_param_and_struct_like_variant::Enum<'_>>` in the current scope
[INFO] [stdout]    --> tests/mod.rs:968:18
[INFO] [stdout]     |
[INFO] [stdout] 968 |     let data = objs.encode();
[INFO] [stdout]     |                     ^^^^^^ method not found in `Vec<derive_decode_for_enum_with_lifetime_param_and_struct_like_variant::Enum<'_>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `decode` exists for struct `Vec<derive_decode_for_enum_with_lifetime_param_and_struct_like_variant::Enum<'_>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:969:28
[INFO] [stdout]     |
[INFO] [stdout] 969 |     let objs_d = Vec::<Enum>::decode(&mut &data[..]).unwrap();
[INFO] [stdout]     |                               ^^^^^^ function or associated item cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Vec<derive_decode_for_enum_with_lifetime_param_and_struct_like_variant::Enum<'_>>` consider using one of the following associated functions:
[INFO] [stdout]       Vec::<T>::new
[INFO] [stdout]       Vec::<T>::with_capacity
[INFO] [stdout]       Vec::<T>::try_with_capacity
[INFO] [stdout]       Vec::<T>::from_raw_parts
[INFO] [stdout]       and 6 others
[INFO] [stdout]    --> /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/alloc/src/vec/mod.rs:459:5
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<&Vec<derive_decode_for_enum_with_lifetime_param_and_struct_like_variant::Enum<'_>> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&Vec<derive_decode_for_enum_with_lifetime_param_and_struct_like_variant::Enum<'_>>: Decode`
[INFO] [stdout]             `&Vec<derive_decode_for_enum_with_lifetime_param_and_struct_like_variant::Enum<'_>>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&Vec<derive_decode_for_enum_with_lifetime_param_and_struct_like_variant::Enum<'_>>: Decode`
[INFO] [stdout]             `<&mut Vec<derive_decode_for_enum_with_lifetime_param_and_struct_like_variant::Enum<'_>> as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut Vec<derive_decode_for_enum_with_lifetime_param_and_struct_like_variant::Enum<'_>>: Decode`
[INFO] [stdout]             `&mut Vec<derive_decode_for_enum_with_lifetime_param_and_struct_like_variant::Enum<'_>>: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut Vec<derive_decode_for_enum_with_lifetime_param_and_struct_like_variant::Enum<'_>>: Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `parity-scale-codec` (test "mod") due to 77 previous errors
[INFO] running `Command { std: "docker" "inspect" "3645bc1e10301fd5816a2c64df0f1d8943ad32ed9945068678dcd3a6bc8979ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3645bc1e10301fd5816a2c64df0f1d8943ad32ed9945068678dcd3a6bc8979ee", kill_on_drop: false }`
[INFO] [stdout] 3645bc1e10301fd5816a2c64df0f1d8943ad32ed9945068678dcd3a6bc8979ee
