[INFO] fetching crate jam-codec 0.1.1...
[INFO] testing jam-codec-0.1.1 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate jam-codec 0.1.1 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate jam-codec 0.1.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate jam-codec 0.1.1
[INFO] tweaked toml for crates.io crate jam-codec 0.1.1 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate jam-codec 0.1.1 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate jam-codec 0.1.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded toml_writer v1.0.0
[INFO] [stderr]   Downloaded toml_parser v1.0.0
[INFO] [stderr]   Downloaded target-triple v0.1.3
[INFO] [stderr]   Downloaded toml v0.9.0
[INFO] [stderr]   Downloaded itoa v1.0.8
[INFO] [stderr]   Downloaded memoffset v0.6.4
[INFO] [stderr]   Downloaded quickcheck v1.0.3
[INFO] [stderr]   Downloaded jam-codec-derive v0.1.1
[INFO] [stderr]   Downloaded crossbeam-deque v0.8.1
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.5
[INFO] [stderr]   Downloaded serde_json v1.0.111
[INFO] [stderr]   Downloaded rayon-core v1.9.1
[INFO] [stderr]   Downloaded clap v4.5.28
[INFO] [stderr]   Downloaded wyz v0.5.0
[INFO] [stderr]   Downloaded derive_arbitrary v1.4.0
[INFO] [stderr]   Downloaded rayon v1.5.1
[INFO] [stderr]   Downloaded clap_builder v4.5.27
[INFO] [stderr]   Downloaded rustix v0.37.25
[INFO] [stderr]   Downloaded linux-raw-sys v0.3.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] cbe72432116b7ac7b370b4ebf51e6afa9d6f76c6ba4b427114317dbba688c40f
[INFO] running `Command { std: "docker" "start" "cbe72432116b7ac7b370b4ebf51e6afa9d6f76c6ba4b427114317dbba688c40f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cbe72432116b7ac7b370b4ebf51e6afa9d6f76c6ba4b427114317dbba688c40f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cbe72432116b7ac7b370b4ebf51e6afa9d6f76c6ba4b427114317dbba688c40f" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cbe72432116b7ac7b370b4ebf51e6afa9d6f76c6ba4b427114317dbba688c40f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cbe72432116b7ac7b370b4ebf51e6afa9d6f76c6ba4b427114317dbba688c40f" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.97
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling jam-codec v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.105
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.34
[INFO] [stderr]    Compiling const_format v0.2.34
[INFO] [stderr]    Compiling impl-trait-for-tuples v0.2.3
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 15.57s
[INFO] running `Command { std: "docker" "inspect" "cbe72432116b7ac7b370b4ebf51e6afa9d6f76c6ba4b427114317dbba688c40f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cbe72432116b7ac7b370b4ebf51e6afa9d6f76c6ba4b427114317dbba688c40f" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling memoffset v0.6.4
[INFO] [stderr]    Compiling io-lifetimes v1.0.10
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling memchr v2.6.4
[INFO] [stderr]    Compiling rustix v0.37.25
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling serde_json v1.0.111
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling itoa v1.0.8
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling regex-syntax v0.6.26
[INFO] [stderr]    Compiling linux-raw-sys v0.3.6
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling crossbeam-deque v0.8.1
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]    Compiling winnow v0.7.11
[INFO] [stderr]    Compiling half v1.8.2
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling ciborium-io v0.2.0
[INFO] [stderr]    Compiling target-triple v0.1.3
[INFO] [stderr]    Compiling ciborium-ll v0.2.0
[INFO] [stderr]    Compiling clap_builder v4.5.27
[INFO] [stderr]    Compiling regex v1.5.6
[INFO] [stderr]    Compiling tempfile v3.5.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling toml_parser v1.0.0
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling wait-timeout v0.2.0
[INFO] [stderr]    Compiling toml_writer v1.0.0
[INFO] [stderr]    Compiling rusty-fork v0.3.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling walkdir v2.3.2
[INFO] [stderr]    Compiling clap v4.5.28
[INFO] [stderr]    Compiling env_logger v0.8.4
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]    Compiling criterion-plot v0.6.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling serde_spanned v1.0.0
[INFO] [stderr]    Compiling toml_datetime v0.7.0
[INFO] [stderr]    Compiling ciborium v0.2.0
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling toml v0.9.0
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling oorandom v11.1.3
[INFO] [stderr]    Compiling termcolor v1.1.2
[INFO] [stderr]    Compiling glob v0.3.0
[INFO] [stderr]    Compiling criterion v0.7.0
[INFO] [stderr]    Compiling proptest v1.7.0
[INFO] [stderr]    Compiling trybuild v1.0.110
[INFO] [stderr]    Compiling enumflags2 v0.7.12
[INFO] [stderr]    Compiling quickcheck v1.0.3
[INFO] [stderr]    Compiling jam-codec v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `jam_codec_derive`
[INFO] [stdout]   --> tests/type_inference.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use jam_codec_derive::{
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `jam_codec_derive`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `jam_codec_derive`, use `cargo add jam_codec_derive` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `jam-codec` (test "type_inference") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0432]: unresolved import `jam_codec_derive`
[INFO] [stdout]  --> tests/variant_number.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use jam_codec_derive::Encode as DeriveEncode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `jam_codec_derive`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `jam_codec_derive`, use `cargo add jam_codec_derive` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `jam_codec_derive`
[INFO] [stdout]   --> tests/bitflags.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use jam_codec_derive::{Decode, Encode};
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `jam_codec_derive`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `jam_codec_derive`, use `cargo add jam_codec_derive` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `jam_codec_derive`
[INFO] [stdout]   --> tests/chain-error.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use jam_codec_derive::Decode as DeriveDecode;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `jam_codec_derive`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `jam_codec_derive`, use `cargo add jam_codec_derive` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `jam_codec_derive`
[INFO] [stdout]   --> tests/bounds.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use jam_codec_derive::{Decode as DeriveDecode, Encode as DeriveEncode};
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `jam_codec_derive`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `jam_codec_derive`, use `cargo add jam_codec_derive` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[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[E0432]: unresolved import `jam_codec_derive`
[INFO] [stdout]   --> tests/mem_tracking.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use jam_codec_derive::{
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `jam_codec_derive`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `jam_codec_derive`, use `cargo add jam_codec_derive` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `jam_codec_derive`
[INFO] [stdout]   --> tests/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use jam_codec_derive::{
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `jam_codec_derive`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `jam_codec_derive`, use `cargo add jam_codec_derive` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `jam-codec` (test "bitflags") due to 1 previous error
[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/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/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[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]    --> src/codec.rs:540:1
[INFO] [stdout]     |
[INFO] [stdout] 540 | impl<T> WrapperTypeDecode for Box<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Box<T>`
[INFO] [stdout] ...
[INFO] [stdout] 598 | impl<T> WrapperTypeDecode for Rc<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Rc<T>`
[INFO] [stdout] ...
[INFO] [stdout] 614 | impl<T> WrapperTypeDecode for Arc<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Arc<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]              jam_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] 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: 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: 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: 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] 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/mod.rs:104:4
[INFO] [stdout]     |
[INFO] [stdout] 104 |     #[codec(compact)]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[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/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[E0599]: the associated function or constant `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]     | ----------------- associated function or constant `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]     |                                 ^^^^^^ associated function or constant 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]    --> 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/mod.rs:442:6
[INFO] [stdout]     |
[INFO] [stdout] 442 |             #[codec(compact)]
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `jam-codec` (test "bounds") due to 4 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[E0599]: the associated function or constant `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]     | ----------------- associated function or constant `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]     |                                   ^^^^^^ associated function or constant 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]    --> 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 `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]    --> 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, associated function, or constant `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, associated function, or constant `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, associated function, or constant 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]    --> 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 `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]    --> 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, associated function, or constant `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, associated function, or constant `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, associated function, or constant 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]    --> 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[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]               Arc<T>
[INFO] [stdout]               BTreeMap<K, V>
[INFO] [stdout]               BTreeSet<T>
[INFO] [stdout]               BinaryHeap<T>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Compact<()>
[INFO] [stdout]               Compact<T>
[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] 
[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]               jam_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 variant, associated function, or constant `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, associated function, or constant `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, associated function, or constant 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]    --> 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 `jam-codec` (test "variant_number") due to 4 previous errors
[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]               Arc<T>
[INFO] [stdout]               BTreeMap<K, V>
[INFO] [stdout]               BTreeSet<T>
[INFO] [stdout]               BinaryHeap<T>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Compact<()>
[INFO] [stdout]               Compact<T>
[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] 
[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]               jam_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] 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] 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 `jam-codec` (test "mem_tracking") due to 5 previous errors
[INFO] [stderr] error: could not compile `jam-codec` (test "chain-error") due to 6 previous errors
[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]    --> 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: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]    --> 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]    --> 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, associated function, or constant `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, associated function, or constant `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, associated function, or constant 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]    --> 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, associated function, or constant `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, associated function, or constant `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, associated function, or constant 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]    --> 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, associated function, or constant `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, associated function, or constant `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, associated function, or constant 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]    --> 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, associated function, or constant `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, associated function, or constant `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, associated function, or constant 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]    --> 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]    --> 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]    --> 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]    --> 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, associated function, or constant `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, associated function, or constant `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, associated function, or constant 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]    --> 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, associated function, or constant `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, associated function, or constant `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, associated function, or constant 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]    --> 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, associated function, or constant `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, associated function, or constant `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, associated function, or constant 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]    --> 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, associated function, or constant `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, associated function, or constant `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, associated function, or constant 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]    --> 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 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\x0bHello 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]    --> 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 associated function or constant `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]     | ---------------------- associated function or constant `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]     |                       ^^^^^^ associated function or constant 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]    --> 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 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]    --> 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 associated function or constant `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]     | ----------- associated function or constant `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]     |                      ^^^^^^ associated function or constant 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]    --> 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 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]    --> 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 associated function or constant `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]     | -------------- associated function or constant `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]     |                         ^^^^^^ associated function or constant 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]    --> 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 associated function or constant `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]     | -------------- associated function or constant `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]     |              ^^^^^^ associated function or constant 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]    --> 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 associated function or constant `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]     | -------------- associated function or constant `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]     |              ^^^^^^ associated function or constant 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]    --> 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, associated function, or constant `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, associated function, or constant `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, associated function, or constant 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]    --> 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 associated function or constant `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]     | ---------------------- associated function or constant `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]     |                              ^^^^^^ associated function or constant 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]    --> 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 associated function or constant `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]     | ---------------------- associated function or constant `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]     |                              ^^^^^^ associated function or constant 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]    --> 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]    --> 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 associated function or constant `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]     | ------------------------------------ associated function or constant `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]     |                                           ^^^^^^ associated function or constant 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]    --> 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]    --> 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 associated function or constant `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]     | ------------------------------------------- associated function or constant `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]     |                                                  ^^^^^^ associated function or constant 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]    --> 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]    --> 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, associated function, or constant `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, associated function, or constant `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, associated function, or constant 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]    --> 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]    --> 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 associated function or constant `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]     | --------------------------- associated function or constant `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]     |                                          ^^^^^^ associated function or constant 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]    --> 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 `&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]    --> 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, associated function, or constant `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, associated function, or constant `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, associated function, or constant 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]    --> 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 `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]    --> 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 associated function or constant `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]     |     ----------------------------- associated function or constant `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]     |                                                          ^^^^^^ associated function or constant 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]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]               String
[INFO] [stdout]               Vec<T>
[INFO] [stdout]               jam_codec::Ref<'_, T, U>
[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]    --> src/codec.rs:540:1
[INFO] [stdout]     |
[INFO] [stdout] 540 | impl<T> WrapperTypeDecode for Box<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Box<T>`
[INFO] [stdout] ...
[INFO] [stdout] 598 | impl<T> WrapperTypeDecode for Rc<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Rc<T>`
[INFO] [stdout] ...
[INFO] [stdout] 614 | impl<T> WrapperTypeDecode for Arc<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Arc<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, associated function, or constant `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, associated function, or constant `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, associated function, or constant 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]    --> 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]    --> 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 associated function or constant `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]     |     ---------------------- associated function or constant `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]     |                                  ^^^^^^ associated function or constant 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]    --> 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 associated function or constant `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]     |     -------------------------- associated function or constant `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]     |                                  ^^^^^^ associated function or constant 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]    --> 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 associated function or constant `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]     |     --------------------- associated function or constant `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]     |                          ^^^^^^ associated function or constant 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]    --> 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 associated function or constant `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]     |     --------------------- associated function or constant `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]     |                                ^^^^^^ associated function or constant 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]    --> 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 associated function or constant `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]     |     --------------------- associated function or constant `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]     |                             ^^^^^^ associated function or constant 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]    --> 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/release/deps/mod-5610c2d3ddee1984.long-type-15394399332804358257.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 associated function or constant `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]     |                            ^^^^^^ associated function or constant 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]    --> 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, associated function, or constant `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, associated function, or constant `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, associated function, or constant 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]    --> 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, associated function, or constant `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, associated function, or constant `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, associated function, or constant 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]    --> 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 associated function or constant `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]     |                               ^^^^^^ associated function or constant 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 7 others
[INFO] [stdout]    --> /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/vec/mod.rs:461:4
[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] error[E0599]: the method `encode` exists for enum `PostVisibility`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:996:27
[INFO] [stdout]     |
[INFO] [stdout] 988 |     pub enum PostVisibility {
[INFO] [stdout]     |     ----------------------- method `encode` not found for this enum because it doesn't satisfy `<PostVisibility as Deref>::Target = _`, `PostVisibility: Encode` or `PostVisibility: WrapperTypeEncode`
[INFO] [stdout] ...
[INFO] [stdout] 996 |     let encoded = visibility.encode();
[INFO] [stdout]     |                              ^^^^^^ method cannot be called on `PostVisibility` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<PostVisibility as Deref>::Target = _`
[INFO] [stdout]             which is required by `PostVisibility: Encode`
[INFO] [stdout]             `PostVisibility: WrapperTypeEncode`
[INFO] [stdout]             which is required by `PostVisibility: Encode`
[INFO] [stdout] note: the trait `WrapperTypeEncode` must be implemented
[INFO] [stdout]    --> src/codec.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: the method `encode` exists on the type `u32`
[INFO] [stdout]    --> src/codec.rs:246:2
[INFO] [stdout]     |
[INFO] [stdout] 246 |     fn encode(&self) -> Vec<u8> {
[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, associated function, or constant `decode` exists for enum `PostVisibility`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mod.rs:997:32
[INFO] [stdout]     |
[INFO] [stdout] 988 |     pub enum PostVisibility {
[INFO] [stdout]     |     ----------------------- variant, associated function, or constant `decode` not found for this enum because it doesn't satisfy `<PostVisibility as WrapperTypeDecode>::Wrapped = _`, `PostVisibility: Decode` or `PostVisibility: WrapperTypeDecode`
[INFO] [stdout] ...
[INFO] [stdout] 997 |     let decoded = PostVisibility::decode(&mut &encoded[..]).unwrap();
[INFO] [stdout]     |                                   ^^^^^^ variant, associated function, or constant cannot be called on `PostVisibility` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<PostVisibility as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `PostVisibility: Decode`
[INFO] [stdout]             `PostVisibility: WrapperTypeDecode`
[INFO] [stdout]             which is required by `PostVisibility: Decode`
[INFO] [stdout]             `<&PostVisibility as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&PostVisibility: Decode`
[INFO] [stdout]             `&PostVisibility: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&PostVisibility: Decode`
[INFO] [stdout]             `<&mut PostVisibility as WrapperTypeDecode>::Wrapped = _`
[INFO] [stdout]             which is required by `&mut PostVisibility: Decode`
[INFO] [stdout]             `&mut PostVisibility: WrapperTypeDecode`
[INFO] [stdout]             which is required by `&mut PostVisibility: Decode`
[INFO] [stdout] note: the trait `WrapperTypeDecode` must be implemented
[INFO] [stdout]    --> 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: 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 `jam-codec` (test "mod") due to 79 previous errors
[INFO] running `Command { std: "docker" "inspect" "cbe72432116b7ac7b370b4ebf51e6afa9d6f76c6ba4b427114317dbba688c40f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cbe72432116b7ac7b370b4ebf51e6afa9d6f76c6ba4b427114317dbba688c40f", kill_on_drop: false }`
[INFO] [stdout] cbe72432116b7ac7b370b4ebf51e6afa9d6f76c6ba4b427114317dbba688c40f
