[INFO] fetching crate momento-functions-host 0.4.1...
[INFO] testing momento-functions-host-0.4.1 against beta-2025-10-28 for beta-1.92-2
[INFO] extracting crate momento-functions-host 0.4.1 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate momento-functions-host 0.4.1
[INFO] finished tweaking crates.io crate momento-functions-host 0.4.1
[INFO] tweaked toml for crates.io crate momento-functions-host 0.4.1 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate momento-functions-host 0.4.1 on toolchain beta-2025-10-28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate momento-functions-host 0.4.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" "+beta-2025-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c175e9c1f2b16281622dc3b1abea807dac4e0ded0afc7d2028bd42bd9081bc92
[INFO] running `Command { std: "docker" "start" "-a" "c175e9c1f2b16281622dc3b1abea807dac4e0ded0afc7d2028bd42bd9081bc92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c175e9c1f2b16281622dc3b1abea807dac4e0ded0afc7d2028bd42bd9081bc92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c175e9c1f2b16281622dc3b1abea807dac4e0ded0afc7d2028bd42bd9081bc92", kill_on_drop: false }`
[INFO] [stdout] c175e9c1f2b16281622dc3b1abea807dac4e0ded0afc7d2028bd42bd9081bc92
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6fb463c24f017f932f6f21f226f9e4bb6dffb6aa46f1fd6354abfb70ffc028eb
[INFO] running `Command { std: "docker" "start" "-a" "6fb463c24f017f932f6f21f226f9e4bb6dffb6aa46f1fd6354abfb70ffc028eb", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling writeable v0.5.5
[INFO] [stderr]    Compiling litemap v0.7.5
[INFO] [stderr]    Compiling icu_locid_transform_data v1.5.1
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]    Compiling icu_properties_data v1.5.1
[INFO] [stderr]    Compiling icu_normalizer_data v1.5.1
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling smallvec v1.15.0
[INFO] [stderr]    Compiling wasmparser v0.227.1
[INFO] [stderr]    Compiling bitflags v2.9.0
[INFO] [stderr]    Compiling write16 v1.0.0
[INFO] [stderr]    Compiling utf16_iter v1.0.5
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling adler2 v2.0.0
[INFO] [stderr]    Compiling wasm-encoder v0.227.1
[INFO] [stderr]    Compiling prettyplease v0.2.32
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling crc32fast v1.4.2
[INFO] [stderr]    Compiling id-arena v2.2.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.8
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling leb128fmt v0.1.0
[INFO] [stderr]    Compiling topological-sort v0.2.2
[INFO] [stderr]    Compiling spdx v0.10.8
[INFO] [stderr]    Compiling wit-bindgen-rust v0.41.0
[INFO] [stderr]    Compiling wit-bindgen-rust-macro v0.41.0
[INFO] [stderr]    Compiling wit-bindgen-rt v0.41.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling flate2 v1.1.1
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.7.5
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]    Compiling icu_collections v1.5.0
[INFO] [stderr]    Compiling icu_locid v1.5.0
[INFO] [stderr]    Compiling icu_provider v1.5.0
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling icu_properties v1.5.1
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling auditable-serde v0.8.0
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling wit-parser v0.227.1
[INFO] [stderr]    Compiling wasm-metadata v0.227.1
[INFO] [stderr]    Compiling wit-bindgen-core v0.41.0
[INFO] [stderr]    Compiling wit-component v0.227.1
[INFO] [stderr]    Compiling wit-bindgen v0.41.0
[INFO] [stderr]    Compiling momento-functions-wit v0.4.1
[INFO] [stderr]    Compiling momento-functions-host v0.4.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 45.76s
[INFO] running `Command { std: "docker" "inspect" "6fb463c24f017f932f6f21f226f9e4bb6dffb6aa46f1fd6354abfb70ffc028eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6fb463c24f017f932f6f21f226f9e4bb6dffb6aa46f1fd6354abfb70ffc028eb", kill_on_drop: false }`
[INFO] [stdout] 6fb463c24f017f932f6f21f226f9e4bb6dffb6aa46f1fd6354abfb70ffc028eb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ae8de465540809bd646273d532ed6d9bb868b2a51be4db15138d9372a583d6cb
[INFO] running `Command { std: "docker" "start" "-a" "ae8de465540809bd646273d532ed6d9bb868b2a51be4db15138d9372a583d6cb", kill_on_drop: false }`
[INFO] [stderr]    Compiling momento-functions-host v0.4.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.73s
[INFO] running `Command { std: "docker" "inspect" "ae8de465540809bd646273d532ed6d9bb868b2a51be4db15138d9372a583d6cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ae8de465540809bd646273d532ed6d9bb868b2a51be4db15138d9372a583d6cb", kill_on_drop: false }`
[INFO] [stdout] ae8de465540809bd646273d532ed6d9bb868b2a51be4db15138d9372a583d6cb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d25976cb8cd93a08cefe0e56a333df9078ce29ddb1ee150bc58f04052f5bca31
[INFO] running `Command { std: "docker" "start" "-a" "d25976cb8cd93a08cefe0e56a333df9078ce29ddb1ee150bc58f04052f5bca31", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/momento_functions_host-20f7acb1ce2a532e)
[INFO] [stdout] running 0 tests
[INFO] [stderr]    Doc-tests momento_functions_host
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 32 tests
[INFO] [stdout] test src/aws/auth.rs - aws::auth::AwsCredentialsProvider::new (line 77) - compile ... ok
[INFO] [stdout] test src/cache.rs - cache::get (line 40) ... FAILED
[INFO] [stdout] test src/aws/ddb.rs - aws::ddb::Item (line 375) ... FAILED
[INFO] [stdout] test src/aws/ddb.rs - aws::ddb::DynamoDBClient::get_item (line 84) ... FAILED
[INFO] [stdout] test src/aws/lambda.rs - aws::lambda::LambdaClient::invoke (line 98) ... FAILED
[INFO] [stdout] test src/cache.rs - cache::get (line 50) ... FAILED
[INFO] [stdout] test src/cache.rs - cache::set (line 78) ... FAILED
[INFO] [stdout] test src/aws/lambda.rs - aws::lambda::LambdaClient::invoke (line 66) ... FAILED
[INFO] [stdout] test src/aws/ddb.rs - aws::ddb::DynamoDBClient::new (line 58) ... ok
[INFO] [stdout] test src/aws/ddb.rs - aws::ddb::DynamoDBClient::put_item (line 178) ... ok
[INFO] [stdout] test src/aws/auth.rs - aws::auth::build_environment_aws_credentials (line 25) ... ok
[INFO] [stdout] test src/aws/ddb.rs - aws::ddb::DynamoDBClient::put_item (line 193) ... ok
[INFO] [stdout] test src/http.rs - http::Response::extract (line 27) ... FAILED
[INFO] [stdout] test src/cache.rs - cache::set (line 93) ... FAILED
[INFO] [stdout] test src/http.rs - http::put (line 116) ... FAILED
[INFO] [stdout] test src/http.rs - http::post_aws_sigv4 (line 404) ... FAILED
[INFO] [stdout] test src/http.rs - http::post (line 180) ... FAILED
[INFO] [stdout] test src/aws/ddb.rs - aws::ddb::DynamoDBClient::get_item_raw (line 127) ... ok
[INFO] [stdout] test src/topics.rs - topics::publish (line 38) ... FAILED
[INFO] [stdout] test src/http.rs - http::put_aws_sigv4 (line 351) ... FAILED
[INFO] [stdout] test src/http.rs - http::delete_aws_sigv4 (line 457) ... ok
[INFO] [stdout] test src/redis.rs - redis::RedisClient::pipe (line 197) ... FAILED
[INFO] [stdout] test src/http.rs - http::delete (line 245) ... ok
[INFO] [stdout] test src/spawn.rs - spawn::spawn (line 21) ... FAILED
[INFO] [stdout] test src/http.rs - http::get_aws_sigv4 (line 302) ... ok
[INFO] [stdout] test src/aws/auth.rs - aws::auth::build_environment_aws_credentials (line 31) ... ok
[INFO] [stdout] test src/http.rs - http::get (line 66) ... ok
[INFO] [stdout] test src/topics.rs - topics::publish (line 27) ... FAILED
[INFO] [stdout] test src/redis.rs - redis::RedisClient::new (line 102) ... ok
[INFO] [stdout] test src/aws/ddb.rs - aws::ddb::Item (line 368) ... ok
[INFO] [stdout] test src/aws/lambda.rs - aws::lambda::LambdaClient::new (line 38) ... ok
[INFO] [stdout] test src/topics.rs - topics::publish (line 49) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/cache.rs - cache::get (line 40) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Vec<u8>: ExtractError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:45:22
[INFO] [stdout]    |
[INFO] [stdout]  8 | fn f() -> Result<(), CacheGetError<Vec<u8>>> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^ the trait `ExtractError` is not implemented for `Vec<u8>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ExtractError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `CacheGetError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/cache.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum CacheGetError<E: ExtractError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ required by this bound in `CacheGetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vec<u8>: ExtractError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:46:30
[INFO] [stdout]    |
[INFO] [stdout]  9 | let value: Option<Vec<u8>> = cache::get("my_key")?;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^ the trait `ExtractError` is not implemented for `Vec<u8>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ExtractError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `CacheGetError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/cache.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum CacheGetError<E: ExtractError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ required by this bound in `CacheGetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vec<u8>: ExtractError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:46:30
[INFO] [stdout]    |
[INFO] [stdout]  9 | let value: Option<Vec<u8>> = cache::get("my_key")?;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^ the trait `ExtractError` is not implemented for `Vec<u8>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ExtractError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `CacheGetError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/cache.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum CacheGetError<E: ExtractError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ required by this bound in `CacheGetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vec<u8>: ExtractError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:46:50
[INFO] [stdout]    |
[INFO] [stdout]  9 | let value: Option<Vec<u8>> = cache::get("my_key")?;
[INFO] [stdout]    |                                                  ^ the trait `ExtractError` is not implemented for `Vec<u8>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ExtractError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `CacheGetError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/cache.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum CacheGetError<E: ExtractError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ required by this bound in `CacheGetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<Vec<u8> as Extract>::Error == Vec<u8>`
[INFO] [stdout]  --> src/cache.rs:46:30
[INFO] [stdout]   |
[INFO] [stdout] 9 | let value: Option<Vec<u8>> = cache::get("my_key")?;
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^ expected `Vec<u8>`, found `Infallible`
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected struct `Vec<u8>`
[INFO] [stdout]                found enum `Infallible`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vec<u8>: ExtractError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | Ok(()) }
[INFO] [stdout]    | ^^ the trait `ExtractError` is not implemented for `Vec<u8>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ExtractError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `CacheGetError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/cache.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum CacheGetError<E: ExtractError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ required by this bound in `CacheGetError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0271, E0277.
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aws/ddb.rs - aws::ddb::Item (line 375) stdout ----
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `std::string::String`
[INFO] [stdout]   --> src/aws/ddb.rs:396:114
[INFO] [stdout]    |
[INFO] [stdout] 24 |             some_attribute: value.attributes.remove("some_attribute").ok_or("missing some_attribute")?.try_into()?,
[INFO] [stdout]    |                                                                                                        ----------^ the trait `From<ConversionError>` is not implemented for `std::string::String`
[INFO] [stdout]    |                                                                                                        |
[INFO] [stdout]    |                                                                                                        this can't be annotated with `?` because it has type `Result<_, ConversionError>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `std::string::String` implements `From<&mut str>`
[INFO] [stdout]              `std::string::String` implements `From<&std::string::String>`
[INFO] [stdout]              `std::string::String` implements `From<&str>`
[INFO] [stdout]              `std::string::String` implements `From<Box<str>>`
[INFO] [stdout]              `std::string::String` implements `From<Cow<'_, str>>`
[INFO] [stdout]              `std::string::String` implements `From<char>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aws/ddb.rs - aws::ddb::DynamoDBClient::get_item (line 84) stdout ----
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `std::string::String`
[INFO] [stdout]   --> src/aws/ddb.rs:104:114
[INFO] [stdout]    |
[INFO] [stdout] 23 |             some_attribute: value.attributes.remove("some_attribute").ok_or("missing some_attribute")?.try_into()?,
[INFO] [stdout]    |                                                                                                        ----------^ the trait `From<ConversionError>` is not implemented for `std::string::String`
[INFO] [stdout]    |                                                                                                        |
[INFO] [stdout]    |                                                                                                        this can't be annotated with `?` because it has type `Result<_, ConversionError>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `std::string::String` implements `From<&mut str>`
[INFO] [stdout]              `std::string::String` implements `From<&std::string::String>`
[INFO] [stdout]              `std::string::String` implements `From<&str>`
[INFO] [stdout]              `std::string::String` implements `From<Box<str>>`
[INFO] [stdout]              `std::string::String` implements `From<Cow<'_, str>>`
[INFO] [stdout]              `std::string::String` implements `From<char>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aws/lambda.rs - aws::lambda::LambdaClient::invoke (line 98) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/aws/lambda.rs:112:43
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn f(client: &LambdaClient) -> Result<(), InvokeError<Json<MyStruct>>> {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/aws/lambda.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum InvokeError<E>
[INFO] [stdout]    |          ----------- required by a bound in this enum
[INFO] [stdout] 21 | where
[INFO] [stdout] 22 |     E: EncodeError,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `InvokeError<Json<MyStruct>>`
[INFO] [stdout]   --> src/aws/lambda.rs:117:2
[INFO] [stdout]    |
[INFO] [stdout] 17 |   fn f(client: &LambdaClient) -> Result<(), InvokeError<Json<MyStruct>>> {
[INFO] [stdout]    |                                  --------------------------------------- expected `InvokeError<Json<MyStruct>>` because of this
[INFO] [stdout] 18 |   // Just a request payload, encoded as JSON
[INFO] [stdout] 19 |   client.invoke(
[INFO] [stdout]    |  ________-
[INFO] [stdout] 20 | |     "my_lambda_function",
[INFO] [stdout] 21 | |     Json(MyStruct { hello: "hello".to_string() }),
[INFO] [stdout] 22 | | )?;
[INFO] [stdout]    | | -^ the trait `From<InvokeError<serde_json::error::Error>>` is not implemented for `InvokeError<Json<MyStruct>>`
[INFO] [stdout]    | |_|
[INFO] [stdout]    |   this can't be annotated with `?` because it has type `Result<_, InvokeError<serde_json::error::Error>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the trait `From<momento_functions_wit::host::momento::host::aws_lambda::LambdaError>` is implemented for `InvokeError<E>`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/aws/lambda.rs:114:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / client.invoke(
[INFO] [stdout] 20 | |     "my_lambda_function",
[INFO] [stdout] 21 | |     Json(MyStruct { hello: "hello".to_string() }),
[INFO] [stdout] 22 | | )?;
[INFO] [stdout]    | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/aws/lambda.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum InvokeError<E>
[INFO] [stdout]    |          ----------- required by a bound in this enum
[INFO] [stdout] 21 | where
[INFO] [stdout] 22 |     E: EncodeError,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `InvokeError<Json<MyStruct>>`
[INFO] [stdout]   --> src/aws/lambda.rs:123:2
[INFO] [stdout]    |
[INFO] [stdout] 17 |   fn f(client: &LambdaClient) -> Result<(), InvokeError<Json<MyStruct>>> {
[INFO] [stdout]    |                                  --------------------------------------- expected `InvokeError<Json<MyStruct>>` because of this
[INFO] [stdout] ...
[INFO] [stdout] 25 |   let Json(reply): Json<Reply> = client.invoke(
[INFO] [stdout]    |  _______________________________________-
[INFO] [stdout] 26 | |     "my_lambda_function",
[INFO] [stdout] 27 | |     Json(MyStruct { hello: "hello".to_string() }),
[INFO] [stdout] 28 | | )?
[INFO] [stdout]    | | -^ the trait `From<InvokeError<serde_json::error::Error>>` is not implemented for `InvokeError<Json<MyStruct>>`
[INFO] [stdout]    | |_|
[INFO] [stdout]    |   this can't be annotated with `?` because it has type `Result<_, InvokeError<serde_json::error::Error>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the trait `From<momento_functions_wit::host::momento::host::aws_lambda::LambdaError>` is implemented for `InvokeError<E>`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/aws/lambda.rs:120:32
[INFO] [stdout]    |
[INFO] [stdout] 25 |   let Json(reply): Json<Reply> = client.invoke(
[INFO] [stdout]    |  ________________________________^
[INFO] [stdout] 26 | |     "my_lambda_function",
[INFO] [stdout] 27 | |     Json(MyStruct { hello: "hello".to_string() }),
[INFO] [stdout] 28 | | )?
[INFO] [stdout]    | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/aws/lambda.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum InvokeError<E>
[INFO] [stdout]    |          ----------- required by a bound in this enum
[INFO] [stdout] 21 | where
[INFO] [stdout] 22 |     E: EncodeError,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `InvokeError<Json<MyStruct>>`
[INFO] [stdout]   --> src/aws/lambda.rs:124:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn f(client: &LambdaClient) -> Result<(), InvokeError<Json<MyStruct>>> {
[INFO] [stdout]    |                                --------------------------------------- expected `InvokeError<Json<MyStruct>>` because of this
[INFO] [stdout] ...
[INFO] [stdout] 29 | .extract()?;
[INFO] [stdout]    |  ---------^ the trait `From<ResponseExtractError<_>>` is not implemented for `InvokeError<Json<MyStruct>>`
[INFO] [stdout]    |  |
[INFO] [stdout]    |  this can't be annotated with `?` because it has type `Result<_, ResponseExtractError<_>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the trait `From<momento_functions_wit::host::momento::host::aws_lambda::LambdaError>` is implemented for `InvokeError<E>`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/aws/lambda.rs:120:32
[INFO] [stdout]    |
[INFO] [stdout] 25 |   let Json(reply): Json<Reply> = client.invoke(
[INFO] [stdout]    |  ________________________________^
[INFO] [stdout] 26 | |     "my_lambda_function",
[INFO] [stdout] 27 | |     Json(MyStruct { hello: "hello".to_string() }),
[INFO] [stdout] 28 | | )?
[INFO] [stdout] 29 | | .extract()?;
[INFO] [stdout]    | |___________^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/aws/lambda.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum InvokeError<E>
[INFO] [stdout]    |          ----------- required by a bound in this enum
[INFO] [stdout] 21 | where
[INFO] [stdout] 22 |     E: EncodeError,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/aws/lambda.rs:127:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | Ok(())}
[INFO] [stdout]    | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/aws/lambda.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum InvokeError<E>
[INFO] [stdout]    |          ----------- required by a bound in this enum
[INFO] [stdout] 21 | where
[INFO] [stdout] 22 |     E: EncodeError,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/cache.rs - cache::get (line 50) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: ExtractError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:61:22
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn f() -> Result<(), CacheGetError<Json<MyStruct>>> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ExtractError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ExtractError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `CacheGetError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/cache.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum CacheGetError<E: ExtractError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ required by this bound in `CacheGetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: ExtractError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:62:37
[INFO] [stdout]    |
[INFO] [stdout] 15 | let value: Option<Json<MyStruct>> = cache::get("my_key")?;
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^ the trait `ExtractError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ExtractError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `CacheGetError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/cache.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum CacheGetError<E: ExtractError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ required by this bound in `CacheGetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: ExtractError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:62:37
[INFO] [stdout]    |
[INFO] [stdout] 15 | let value: Option<Json<MyStruct>> = cache::get("my_key")?;
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^ the trait `ExtractError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ExtractError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `CacheGetError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/cache.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum CacheGetError<E: ExtractError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ required by this bound in `CacheGetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: ExtractError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:62:57
[INFO] [stdout]    |
[INFO] [stdout] 15 | let value: Option<Json<MyStruct>> = cache::get("my_key")?;
[INFO] [stdout]    |                                                         ^ the trait `ExtractError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ExtractError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `CacheGetError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/cache.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum CacheGetError<E: ExtractError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ required by this bound in `CacheGetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<Json<MyStruct> as Extract>::Error == Json<MyStruct>`
[INFO] [stdout]   --> src/cache.rs:62:37
[INFO] [stdout]    |
[INFO] [stdout] 15 | let value: Option<Json<MyStruct>> = cache::get("my_key")?;
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^ expected `Json<MyStruct>`, found `Error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Json<MyStruct>`
[INFO] [stdout]               found struct `serde_json::error::Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: ExtractError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | Ok(()) }
[INFO] [stdout]    | ^^ the trait `ExtractError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ExtractError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `CacheGetError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/cache.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum CacheGetError<E: ExtractError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ required by this bound in `CacheGetError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0271, E0277.
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/cache.rs - cache::set (line 78) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&'static str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:84:11
[INFO] [stdout]    |
[INFO] [stdout]  9 | fn f() -> Result<(), CacheSetError<&'static str>> {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&'static str`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `CacheSetError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/cache.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum CacheSetError<E: EncodeError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^ required by this bound in `CacheSetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `CacheSetError<&str>`
[INFO] [stdout]   --> src/cache.rs:89:2
[INFO] [stdout]    |
[INFO] [stdout]  9 |   fn f() -> Result<(), CacheSetError<&'static str>> {
[INFO] [stdout]    |             --------------------------------------- expected `CacheSetError<&str>` because of this
[INFO] [stdout] 10 | / cache::set(
[INFO] [stdout] 11 | |     "my_key",
[INFO] [stdout] 12 | |     b"hello".to_vec(),
[INFO] [stdout] 13 | |     Duration::from_secs(60),
[INFO] [stdout] 14 | | )?;
[INFO] [stdout]    | | -^ the trait `From<CacheSetError<Infallible>>` is not implemented for `CacheSetError<&str>`
[INFO] [stdout]    | |_|
[INFO] [stdout]    |   this can't be annotated with `?` because it has type `Result<_, CacheSetError<Infallible>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the trait `From<momento_functions_wit::host::momento::functions::cache_scalar::Error>` is implemented for `CacheSetError<E>`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | / cache::set(
[INFO] [stdout] 11 | |     "my_key",
[INFO] [stdout] 12 | |     b"hello".to_vec(),
[INFO] [stdout] 13 | |     Duration::from_secs(60),
[INFO] [stdout] 14 | | )?;
[INFO] [stdout]    | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `CacheSetError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/cache.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum CacheSetError<E: EncodeError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^ required by this bound in `CacheSetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:90:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | Ok(()) }
[INFO] [stdout]    | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `CacheSetError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/cache.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum CacheSetError<E: EncodeError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^ required by this bound in `CacheSetError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aws/lambda.rs - aws::lambda::LambdaClient::invoke (line 66) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/aws/lambda.rs:71:43
[INFO] [stdout]    |
[INFO] [stdout]  8 | fn f(client: &LambdaClient) -> Result<(), InvokeError<&str>> {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/aws/lambda.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum InvokeError<E>
[INFO] [stdout]    |          ----------- required by a bound in this enum
[INFO] [stdout] 21 | where
[INFO] [stdout] 22 |     E: EncodeError,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `InvokeError<&str>`
[INFO] [stdout]   --> src/aws/lambda.rs:76:2
[INFO] [stdout]    |
[INFO] [stdout]  8 |   fn f(client: &LambdaClient) -> Result<(), InvokeError<&str>> {
[INFO] [stdout]    |                                  ----------------------------- expected `InvokeError<&str>` because of this
[INFO] [stdout]  9 |   // With a payload
[INFO] [stdout] 10 |   client.invoke(
[INFO] [stdout]    |  ________-
[INFO] [stdout] 11 | |     "my_lambda_function",
[INFO] [stdout] 12 | |     "hello world",
[INFO] [stdout] 13 | | )?;
[INFO] [stdout]    | | -^ the trait `From<InvokeError<Infallible>>` is not implemented for `InvokeError<&str>`
[INFO] [stdout]    | |_|
[INFO] [stdout]    |   this can't be annotated with `?` because it has type `Result<_, InvokeError<Infallible>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the trait `From<momento_functions_wit::host::momento::host::aws_lambda::LambdaError>` is implemented for `InvokeError<E>`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/aws/lambda.rs:73:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | / client.invoke(
[INFO] [stdout] 11 | |     "my_lambda_function",
[INFO] [stdout] 12 | |     "hello world",
[INFO] [stdout] 13 | | )?;
[INFO] [stdout]    | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/aws/lambda.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum InvokeError<E>
[INFO] [stdout]    |          ----------- required by a bound in this enum
[INFO] [stdout] 21 | where
[INFO] [stdout] 22 |     E: EncodeError,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `InvokeError<&str>`
[INFO] [stdout]   --> src/aws/lambda.rs:82:2
[INFO] [stdout]    |
[INFO] [stdout]  8 |   fn f(client: &LambdaClient) -> Result<(), InvokeError<&str>> {
[INFO] [stdout]    |                                  ----------------------------- expected `InvokeError<&str>` because of this
[INFO] [stdout] ...
[INFO] [stdout] 16 |   client.invoke(
[INFO] [stdout]    |  ________-
[INFO] [stdout] 17 | |     ("my_lambda_function", "v1"),
[INFO] [stdout] 18 | |     "hello world",
[INFO] [stdout] 19 | | )?;
[INFO] [stdout]    | | -^ the trait `From<InvokeError<Infallible>>` is not implemented for `InvokeError<&str>`
[INFO] [stdout]    | |_|
[INFO] [stdout]    |   this can't be annotated with `?` because it has type `Result<_, InvokeError<Infallible>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the trait `From<momento_functions_wit::host::momento::host::aws_lambda::LambdaError>` is implemented for `InvokeError<E>`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/aws/lambda.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | / client.invoke(
[INFO] [stdout] 17 | |     ("my_lambda_function", "v1"),
[INFO] [stdout] 18 | |     "hello world",
[INFO] [stdout] 19 | | )?;
[INFO] [stdout]    | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/aws/lambda.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum InvokeError<E>
[INFO] [stdout]    |          ----------- required by a bound in this enum
[INFO] [stdout] 21 | where
[INFO] [stdout] 22 |     E: EncodeError,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `InvokeError<&str>`
[INFO] [stdout]   --> src/aws/lambda.rs:88:2
[INFO] [stdout]    |
[INFO] [stdout]  8 |   fn f(client: &LambdaClient) -> Result<(), InvokeError<&str>> {
[INFO] [stdout]    |                                  ----------------------------- expected `InvokeError<&str>` because of this
[INFO] [stdout] ...
[INFO] [stdout] 22 |   client.invoke(
[INFO] [stdout]    |  ________-
[INFO] [stdout] 23 | |     "my_lambda_function",
[INFO] [stdout] 24 | |     (),
[INFO] [stdout] 25 | | )?;
[INFO] [stdout]    | | -^ the trait `From<InvokeError<Infallible>>` is not implemented for `InvokeError<&str>`
[INFO] [stdout]    | |_|
[INFO] [stdout]    |   this can't be annotated with `?` because it has type `Result<_, InvokeError<Infallible>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the trait `From<momento_functions_wit::host::momento::host::aws_lambda::LambdaError>` is implemented for `InvokeError<E>`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/aws/lambda.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | / client.invoke(
[INFO] [stdout] 23 | |     "my_lambda_function",
[INFO] [stdout] 24 | |     (),
[INFO] [stdout] 25 | | )?;
[INFO] [stdout]    | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/aws/lambda.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum InvokeError<E>
[INFO] [stdout]    |          ----------- required by a bound in this enum
[INFO] [stdout] 21 | where
[INFO] [stdout] 22 |     E: EncodeError,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `InvokeError<&str>`
[INFO] [stdout]   --> src/aws/lambda.rs:94:2
[INFO] [stdout]    |
[INFO] [stdout]  8 |   fn f(client: &LambdaClient) -> Result<(), InvokeError<&str>> {
[INFO] [stdout]    |                                  ----------------------------- expected `InvokeError<&str>` because of this
[INFO] [stdout] ...
[INFO] [stdout] 28 |   client.invoke(
[INFO] [stdout]    |  ________-
[INFO] [stdout] 29 | |     "my_lambda_function",
[INFO] [stdout] 30 | |     b"some literal bytes".to_vec(),
[INFO] [stdout] 31 | | )?;
[INFO] [stdout]    | | -^ the trait `From<InvokeError<Infallible>>` is not implemented for `InvokeError<&str>`
[INFO] [stdout]    | |_|
[INFO] [stdout]    |   this can't be annotated with `?` because it has type `Result<_, InvokeError<Infallible>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the trait `From<momento_functions_wit::host::momento::host::aws_lambda::LambdaError>` is implemented for `InvokeError<E>`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/aws/lambda.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | / client.invoke(
[INFO] [stdout] 29 | |     "my_lambda_function",
[INFO] [stdout] 30 | |     b"some literal bytes".to_vec(),
[INFO] [stdout] 31 | | )?;
[INFO] [stdout]    | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/aws/lambda.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum InvokeError<E>
[INFO] [stdout]    |          ----------- required by a bound in this enum
[INFO] [stdout] 21 | where
[INFO] [stdout] 22 |     E: EncodeError,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/aws/lambda.rs:95:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | Ok(())}
[INFO] [stdout]    | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/aws/lambda.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum InvokeError<E>
[INFO] [stdout]    |          ----------- required by a bound in this enum
[INFO] [stdout] 21 | where
[INFO] [stdout] 22 |     E: EncodeError,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/http.rs - http::Response::extract (line 27) stdout ----
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `serde_json::Error`
[INFO] [stdout]   --> src/http.rs:48:2
[INFO] [stdout]    |
[INFO] [stdout]  8 |   fn f() -> Result<(), serde_json::error::Error> {
[INFO] [stdout]    |             ------------------------------------ expected `serde_json::Error` because of this
[INFO] [stdout] ...
[INFO] [stdout] 18 |   let Json(reply): Json<Reply> = http::post(
[INFO] [stdout]    |  ________________________________-
[INFO] [stdout] 19 | |     "https://gomomento.com",
[INFO] [stdout] 20 | |     [
[INFO] [stdout] 21 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout] 22 | |     ],
[INFO] [stdout] 23 | |     Json(Request { message: "hello".to_string() })
[INFO] [stdout] 24 | | )?
[INFO] [stdout]    | | -^ the trait `From<HttpPostError<serde_json::Error>>` is not implemented for `serde_json::Error`
[INFO] [stdout]    | |_|
[INFO] [stdout]    |   this can't be annotated with `?` because it has type `Result<_, HttpPostError<serde_json::Error>>`
[INFO] [stdout]    |
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/cache.rs - cache::set (line 93) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:105:22
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn f() -> Result<(), CacheSetError<Json<MyStruct>>> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `CacheSetError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/cache.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum CacheSetError<E: EncodeError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^ required by this bound in `CacheSetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `CacheSetError<Json<MyStruct>>`
[INFO] [stdout]   --> src/cache.rs:110:2
[INFO] [stdout]    |
[INFO] [stdout] 15 |   fn f() -> Result<(), CacheSetError<Json<MyStruct>>> {
[INFO] [stdout]    |             ----------------------------------------- expected `CacheSetError<Json<MyStruct>>` because of this
[INFO] [stdout] 16 | / cache::set(
[INFO] [stdout] 17 | |     "my_key",
[INFO] [stdout] 18 | |     Json(MyStruct { hello: "hello".to_string() }),
[INFO] [stdout] 19 | |     Duration::from_secs(60),
[INFO] [stdout] 20 | | )?;
[INFO] [stdout]    | | -^ the trait `From<CacheSetError<serde_json::error::Error>>` is not implemented for `CacheSetError<Json<MyStruct>>`
[INFO] [stdout]    | |_|
[INFO] [stdout]    |   this can't be annotated with `?` because it has type `Result<_, CacheSetError<serde_json::error::Error>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the trait `From<momento_functions_wit::host::momento::functions::cache_scalar::Error>` is implemented for `CacheSetError<E>`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:106:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | / cache::set(
[INFO] [stdout] 17 | |     "my_key",
[INFO] [stdout] 18 | |     Json(MyStruct { hello: "hello".to_string() }),
[INFO] [stdout] 19 | |     Duration::from_secs(60),
[INFO] [stdout] 20 | | )?;
[INFO] [stdout]    | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `CacheSetError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/cache.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum CacheSetError<E: EncodeError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^ required by this bound in `CacheSetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:111:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | Ok(()) }
[INFO] [stdout]    | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `CacheSetError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/cache.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum CacheSetError<E: EncodeError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^ required by this bound in `CacheSetError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/http.rs - http::put (line 116) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&'static str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:120:11
[INFO] [stdout]     |
[INFO] [stdout]   7 | fn f() -> Result<(), HttpPutError<&'static str>> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&'static str`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPutError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum HttpPutError<E: EncodeError> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ required by this bound in `HttpPutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:130:22
[INFO] [stdout]     |
[INFO] [stdout]  17 | fn g() -> Result<(), HttpPutError<Json<MyStruct>>> {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPutError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum HttpPutError<E: EncodeError> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ required by this bound in `HttpPutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `HttpPutError<&str>`
[INFO] [stdout]  --> src/http.rs:121:58
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn f() -> Result<(), HttpPutError<&'static str>> {
[INFO] [stdout]   |           -------------------------------------- expected `HttpPutError<&str>` because of this
[INFO] [stdout] 8 | http::put("https://gomomento.com", [], b"hello".as_ref())?;
[INFO] [stdout]   | ---------------------------------------------------------^ the trait `From<HttpPutError<Infallible>>` is not implemented for `HttpPutError<&str>`
[INFO] [stdout]   | |
[INFO] [stdout]   | this can't be annotated with `?` because it has type `Result<_, HttpPutError<Infallible>>`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]   = help: the trait `From<momento_functions_wit::host::momento::host::http::Error>` is implemented for `HttpPutError<E>`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | http::put("https://gomomento.com", [], b"hello".as_ref())?;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPutError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum HttpPutError<E: EncodeError> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ required by this bound in `HttpPutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout]   9 | Ok(())}
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPutError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum HttpPutError<E: EncodeError> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ required by this bound in `HttpPutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `HttpPutError<Json<MyStruct>>`
[INFO] [stdout]   --> src/http.rs:137:2
[INFO] [stdout]    |
[INFO] [stdout] 17 |   fn g() -> Result<(), HttpPutError<Json<MyStruct>>> {
[INFO] [stdout]    |             ---------------------------------------- expected `HttpPutError<Json<MyStruct>>` because of this
[INFO] [stdout] 18 | / http::put(
[INFO] [stdout] 19 | |     "https://gomomento.com",
[INFO] [stdout] 20 | |     [
[INFO] [stdout] 21 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout] 22 | |     ],
[INFO] [stdout] 23 | |     Json(MyStruct { message: "hello".to_string() })
[INFO] [stdout] 24 | | )?;
[INFO] [stdout]    | | -^ the trait `From<HttpPutError<serde_json::error::Error>>` is not implemented for `HttpPutError<Json<MyStruct>>`
[INFO] [stdout]    | |_|
[INFO] [stdout]    |   this can't be annotated with `?` because it has type `Result<_, HttpPutError<serde_json::error::Error>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the trait `From<momento_functions_wit::host::momento::host::http::Error>` is implemented for `HttpPutError<E>`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:131:1
[INFO] [stdout]     |
[INFO] [stdout]  18 | / http::put(
[INFO] [stdout]  19 | |     "https://gomomento.com",
[INFO] [stdout]  20 | |     [
[INFO] [stdout]  21 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout]  22 | |     ],
[INFO] [stdout]  23 | |     Json(MyStruct { message: "hello".to_string() })
[INFO] [stdout]  24 | | )?;
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPutError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum HttpPutError<E: EncodeError> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ required by this bound in `HttpPutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:138:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | Ok(())}
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPutError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum HttpPutError<E: EncodeError> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ required by this bound in `HttpPutError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/http.rs - http::post_aws_sigv4 (line 404) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:414:22
[INFO] [stdout]     |
[INFO] [stdout]  13 | fn f() -> Result<(), http::HttpPostError<Json<MyStruct>>> {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `HttpPostError<Json<MyStruct>>`
[INFO] [stdout]   --> src/http.rs:425:2
[INFO] [stdout]    |
[INFO] [stdout] 13 |   fn f() -> Result<(), http::HttpPostError<Json<MyStruct>>> {
[INFO] [stdout]    |             ----------------------------------------------- expected `HttpPostError<Json<MyStruct>>` because of this
[INFO] [stdout] 14 |
[INFO] [stdout] 15 | / http::post_aws_sigv4(
[INFO] [stdout] 16 | |     "https://gomomento.com",
[INFO] [stdout] 17 | |     [
[INFO] [stdout] 18 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout] ...  |
[INFO] [stdout] 23 | |     Json(MyStruct { message: "hello".to_string() })
[INFO] [stdout] 24 | | )?;
[INFO] [stdout]    | | -^ the trait `From<HttpPostError<serde_json::error::Error>>` is not implemented for `HttpPostError<Json<MyStruct>>`
[INFO] [stdout]    | |_|
[INFO] [stdout]    |   this can't be annotated with `?` because it has type `Result<_, HttpPostError<serde_json::error::Error>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the trait `From<momento_functions_wit::host::momento::host::http::Error>` is implemented for `HttpPostError<E>`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:416:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | / http::post_aws_sigv4(
[INFO] [stdout]  16 | |     "https://gomomento.com",
[INFO] [stdout]  17 | |     [
[INFO] [stdout]  18 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout] ...   |
[INFO] [stdout]  23 | |     Json(MyStruct { message: "hello".to_string() })
[INFO] [stdout]  24 | | )?;
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:426:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | Ok(()) }
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/http.rs - http::post (line 180) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&'static str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:185:11
[INFO] [stdout]     |
[INFO] [stdout]   8 | fn f() -> Result<(), HttpPostError<&'static str>> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&'static str`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<_doctest_main_src_http_rs_180_0::Request>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:199:22
[INFO] [stdout]     |
[INFO] [stdout]  22 | fn g() -> Result<(), HttpPostError<Json<Request>>> {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<_doctest_main_src_http_rs_180_0::Request>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `HttpPostError<&str>`
[INFO] [stdout]  --> src/http.rs:186:59
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn f() -> Result<(), HttpPostError<&'static str>> {
[INFO] [stdout]   |           --------------------------------------- expected `HttpPostError<&str>` because of this
[INFO] [stdout] 9 | http::post("https://gomomento.com", [], b"hello".as_ref())?;
[INFO] [stdout]   | ----------------------------------------------------------^ the trait `From<HttpPostError<Infallible>>` is not implemented for `HttpPostError<&str>`
[INFO] [stdout]   | |
[INFO] [stdout]   | this can't be annotated with `?` because it has type `Result<_, HttpPostError<Infallible>>`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]   = help: the trait `From<momento_functions_wit::host::momento::host::http::Error>` is implemented for `HttpPostError<E>`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:186:1
[INFO] [stdout]     |
[INFO] [stdout]   9 | http::post("https://gomomento.com", [], b"hello".as_ref())?;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:187:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | Ok(())}
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `HttpPostError<Json<_doctest_main_src_http_rs_180_0::Request>>`
[INFO] [stdout]   --> src/http.rs:207:2
[INFO] [stdout]    |
[INFO] [stdout] 22 |   fn g() -> Result<(), HttpPostError<Json<Request>>> {
[INFO] [stdout]    |             ---------------------------------------- expected `HttpPostError<Json<_doctest_main_src_http_rs_180_0::Request>>` because of this
[INFO] [stdout] 23 |
[INFO] [stdout] 24 |   let Json(reply): Json<Reply> = http::post(
[INFO] [stdout]    |  ________________________________-
[INFO] [stdout] 25 | |     "https://gomomento.com",
[INFO] [stdout] 26 | |     [
[INFO] [stdout] 27 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout] 28 | |     ],
[INFO] [stdout] 29 | |     Json(Request { message: "hello".to_string() })
[INFO] [stdout] 30 | | )?
[INFO] [stdout]    | | -^ unsatisfied trait bound
[INFO] [stdout]    | |_|
[INFO] [stdout]    |   this can't be annotated with `?` because it has type `Result<_, HttpPostError<serde_json::error::Error>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `From<HttpPostError<serde_json::error::Error>>` is not implemented for `HttpPostError<Json<_doctest_main_src_http_rs_180_0::Request>>`
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the trait `From<momento_functions_wit::host::momento::host::http::Error>` is implemented for `HttpPostError<E>`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<_doctest_main_src_http_rs_180_0::Request>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:201:32
[INFO] [stdout]     |
[INFO] [stdout]  24 |   let Json(reply): Json<Reply> = http::post(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout]  25 | |     "https://gomomento.com",
[INFO] [stdout]  26 | |     [
[INFO] [stdout]  27 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout]  28 | |     ],
[INFO] [stdout]  29 | |     Json(Request { message: "hello".to_string() })
[INFO] [stdout]  30 | | )?
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<_doctest_main_src_http_rs_180_0::Request>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<_doctest_main_src_http_rs_180_0::Request>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:201:32
[INFO] [stdout]     |
[INFO] [stdout]  24 |   let Json(reply): Json<Reply> = http::post(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout]  25 | |     "https://gomomento.com",
[INFO] [stdout]  26 | |     [
[INFO] [stdout]  27 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout] ...   |
[INFO] [stdout]  30 | | )?
[INFO] [stdout]  31 | | .extract()?;
[INFO] [stdout]     | |__________^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<_doctest_main_src_http_rs_180_0::Request>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<_doctest_main_src_http_rs_180_0::Request>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:208:2
[INFO] [stdout]     |
[INFO] [stdout]  31 | .extract()?;
[INFO] [stdout]     |  ^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<_doctest_main_src_http_rs_180_0::Request>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<_doctest_main_src_http_rs_180_0::Request>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:201:32
[INFO] [stdout]     |
[INFO] [stdout]  24 |   let Json(reply): Json<Reply> = http::post(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout]  25 | |     "https://gomomento.com",
[INFO] [stdout]  26 | |     [
[INFO] [stdout]  27 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout] ...   |
[INFO] [stdout]  30 | | )?
[INFO] [stdout]  31 | | .extract()?;
[INFO] [stdout]     | |___________^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<_doctest_main_src_http_rs_180_0::Request>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<_doctest_main_src_http_rs_180_0::Request>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:208:11
[INFO] [stdout]     |
[INFO] [stdout]  31 | .extract()?;
[INFO] [stdout]     |           ^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<_doctest_main_src_http_rs_180_0::Request>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<Json<Reply> as Extract>::Error == HttpPostError<Json<Request>>`
[INFO] [stdout]   --> src/http.rs:208:2
[INFO] [stdout]    |
[INFO] [stdout] 31 | .extract()?;
[INFO] [stdout]    |  ^^^^^^^ expected `HttpPostError<Json<Request>>`, found `Error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `HttpPostError<Json<_doctest_main_src_http_rs_180_0::Request>>`
[INFO] [stdout]             found struct `serde_json::error::Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<_doctest_main_src_http_rs_180_0::Request>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:209:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | Ok(()) }
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<_doctest_main_src_http_rs_180_0::Request>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 13 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0271, E0277.
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/topics.rs - topics::publish (line 38) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&'static str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/topics.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout]  9 | fn f() -> Result<(), PublishError<&'static str>> {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&'static str`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `momento_functions_host::topics::PublishError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/topics.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum PublishError<E: EncodeError> {
[INFO] [stdout]    |                          ^^^^^^^^^^^ required by this bound in `PublishError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `momento_functions_host::topics::PublishError<&str>`
[INFO] [stdout]   --> src/topics.rs:45:53
[INFO] [stdout]    |
[INFO] [stdout]  9 | fn f() -> Result<(), PublishError<&'static str>> {
[INFO] [stdout]    |           -------------------------------------- expected `momento_functions_host::topics::PublishError<&str>` because of this
[INFO] [stdout] 10 | topics::publish("my_topic", b"hello there".to_vec())?;
[INFO] [stdout]    | ----------------------------------------------------^ unsatisfied trait bound
[INFO] [stdout]    | |
[INFO] [stdout]    | this can't be annotated with `?` because it has type `Result<_, momento_functions_host::topics::PublishError<Infallible>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `From<momento_functions_host::topics::PublishError<Infallible>>` is not implemented for `momento_functions_host::topics::PublishError<&str>`
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the trait `From<momento_functions_wit::host::momento::functions::topic::Error>` is implemented for `momento_functions_host::topics::PublishError<E>`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/topics.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | topics::publish("my_topic", b"hello there".to_vec())?;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `momento_functions_host::topics::PublishError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/topics.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum PublishError<E: EncodeError> {
[INFO] [stdout]    |                          ^^^^^^^^^^^ required by this bound in `PublishError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/topics.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | Ok(()) }
[INFO] [stdout]    | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `momento_functions_host::topics::PublishError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/topics.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum PublishError<E: EncodeError> {
[INFO] [stdout]    |                          ^^^^^^^^^^^ required by this bound in `PublishError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/http.rs - http::put_aws_sigv4 (line 351) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:361:22
[INFO] [stdout]     |
[INFO] [stdout]  13 | fn f() -> Result<(), http::HttpPutError<Json<MyStruct>>> {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPutError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum HttpPutError<E: EncodeError> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ required by this bound in `HttpPutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `HttpPutError<Json<MyStruct>>`
[INFO] [stdout]   --> src/http.rs:372:2
[INFO] [stdout]    |
[INFO] [stdout] 13 |   fn f() -> Result<(), http::HttpPutError<Json<MyStruct>>> {
[INFO] [stdout]    |             ---------------------------------------------- expected `HttpPutError<Json<MyStruct>>` because of this
[INFO] [stdout] 14 |
[INFO] [stdout] 15 | / http::put_aws_sigv4(
[INFO] [stdout] 16 | |     "https://gomomento.com",
[INFO] [stdout] 17 | |     [
[INFO] [stdout] 18 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout] ...  |
[INFO] [stdout] 23 | |     Json(MyStruct { message: "hello".to_string() })
[INFO] [stdout] 24 | | )?;
[INFO] [stdout]    | | -^ the trait `From<HttpPutError<serde_json::error::Error>>` is not implemented for `HttpPutError<Json<MyStruct>>`
[INFO] [stdout]    | |_|
[INFO] [stdout]    |   this can't be annotated with `?` because it has type `Result<_, HttpPutError<serde_json::error::Error>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the trait `From<momento_functions_wit::host::momento::host::http::Error>` is implemented for `HttpPutError<E>`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:363:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | / http::put_aws_sigv4(
[INFO] [stdout]  16 | |     "https://gomomento.com",
[INFO] [stdout]  17 | |     [
[INFO] [stdout]  18 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout] ...   |
[INFO] [stdout]  23 | |     Json(MyStruct { message: "hello".to_string() })
[INFO] [stdout]  24 | | )?;
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPutError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum HttpPutError<E: EncodeError> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ required by this bound in `HttpPutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:373:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | Ok(()) }
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]               Infallible
[INFO] [stdout]               serde_json::error::Error
[INFO] [stdout] note: required by a bound in `HttpPutError`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/http.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum HttpPutError<E: EncodeError> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ required by this bound in `HttpPutError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/redis.rs - redis::RedisClient::pipe (line 197) stdout ----
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `momento_functions_wit::host::momento::host::redis::RedisError`
[INFO] [stdout]  --> src/redis.rs:203:49
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn f(client: &RedisClient) -> Result<(), host::redis::RedisError> {
[INFO] [stdout]   |                               ----------------------------------- expected `momento_functions_wit::host::momento::host::redis::RedisError` because of this
[INFO] [stdout] 8 | let response_stream = client.pipe(vec![
[INFO] [stdout] 9 |     Command::builder().set("my_key", "my_value")?.build(),
[INFO] [stdout]   |                        -------------------------^ the trait `From<Infallible>` is not implemented for `momento_functions_wit::host::momento::host::redis::RedisError`
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        this can't be annotated with `?` because it has type `Result<_, Infallible>`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/spawn.rs - spawn::spawn (line 21) stdout ----
[INFO] [stdout] error[E0603]: module `spawn` is private
[INFO] [stdout]   --> src/spawn.rs:23:29
[INFO] [stdout]    |
[INFO] [stdout]  5 | use momento_functions_host::spawn::{self, FunctionSpawnError};
[INFO] [stdout]    |                             ^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `spawn` is defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | mod spawn;
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `spawn` is private
[INFO] [stdout]   --> src/spawn.rs:23:29
[INFO] [stdout]    |
[INFO] [stdout]  5 | use momento_functions_host::spawn::{self, FunctionSpawnError};
[INFO] [stdout]    |                             ^^^^^         ------------------ enum `FunctionSpawnError` is not publicly re-exported
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `spawn` is defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | mod spawn;
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0603`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/topics.rs - topics::publish (line 27) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&'static str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/topics.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout]  9 | fn f() -> Result<(), PublishError<&'static str>> {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&'static str`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `momento_functions_host::topics::PublishError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/topics.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum PublishError<E: EncodeError> {
[INFO] [stdout]    |                          ^^^^^^^^^^^ required by this bound in `PublishError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `momento_functions_host::topics::PublishError<&str>`
[INFO] [stdout]   --> src/topics.rs:34:43
[INFO] [stdout]    |
[INFO] [stdout]  9 | fn f() -> Result<(), PublishError<&'static str>> {
[INFO] [stdout]    |           -------------------------------------- expected `momento_functions_host::topics::PublishError<&str>` because of this
[INFO] [stdout] 10 | topics::publish("my_topic", "hello there")?;
[INFO] [stdout]    | ------------------------------------------^ unsatisfied trait bound
[INFO] [stdout]    | |
[INFO] [stdout]    | this can't be annotated with `?` because it has type `Result<_, momento_functions_host::topics::PublishError<Infallible>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `From<momento_functions_host::topics::PublishError<Infallible>>` is not implemented for `momento_functions_host::topics::PublishError<&str>`
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the trait `From<momento_functions_wit::host::momento::functions::topic::Error>` is implemented for `momento_functions_host::topics::PublishError<E>`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/topics.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | topics::publish("my_topic", "hello there")?;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `momento_functions_host::topics::PublishError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/topics.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum PublishError<E: EncodeError> {
[INFO] [stdout]    |                          ^^^^^^^^^^^ required by this bound in `PublishError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/topics.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | Ok(()) }
[INFO] [stdout]    | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `momento_functions_host::topics::PublishError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/topics.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum PublishError<E: EncodeError> {
[INFO] [stdout]    |                          ^^^^^^^^^^^ required by this bound in `PublishError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/topics.rs - topics::publish (line 49) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/topics.rs:61:22
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn f() -> Result<(), PublishError<Json<MyStruct>>> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `momento_functions_host::topics::PublishError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/topics.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum PublishError<E: EncodeError> {
[INFO] [stdout]    |                          ^^^^^^^^^^^ required by this bound in `PublishError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `momento_functions_host::topics::PublishError<Json<MyStruct>>`
[INFO] [stdout]   --> src/topics.rs:62:74
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn f() -> Result<(), PublishError<Json<MyStruct>>> {
[INFO] [stdout]    |           ---------------------------------------- expected `momento_functions_host::topics::PublishError<Json<MyStruct>>` because of this
[INFO] [stdout] 16 | topics::publish("my_topic", Json(MyStruct{ hello: "hello".to_string() }))?;
[INFO] [stdout]    | -------------------------------------------------------------------------^ unsatisfied trait bound
[INFO] [stdout]    | |
[INFO] [stdout]    | this can't be annotated with `?` because it has type `Result<_, momento_functions_host::topics::PublishError<serde_json::error::Error>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `From<momento_functions_host::topics::PublishError<serde_json::error::Error>>` is not implemented for `momento_functions_host::topics::PublishError<Json<MyStruct>>`
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the trait `From<momento_functions_wit::host::momento::functions::topic::Error>` is implemented for `momento_functions_host::topics::PublishError<E>`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/topics.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | topics::publish("my_topic", Json(MyStruct{ hello: "hello".to_string() }))?;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `momento_functions_host::topics::PublishError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/topics.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum PublishError<E: EncodeError> {
[INFO] [stdout]    |                          ^^^^^^^^^^^ required by this bound in `PublishError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/topics.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | Ok(()) }
[INFO] [stdout]    | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `momento_functions_host::encoding::EncodeError`:
[INFO] [stdout]              Infallible
[INFO] [stdout]              serde_json::error::Error
[INFO] [stdout] note: required by a bound in `momento_functions_host::topics::PublishError`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/topics.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum PublishError<E: EncodeError> {
[INFO] [stdout]    |                          ^^^^^^^^^^^ required by this bound in `PublishError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/aws/ddb.rs - aws::ddb::DynamoDBClient::get_item (line 84)
[INFO] [stdout]     src/aws/ddb.rs - aws::ddb::Item (line 375)
[INFO] [stdout]     src/aws/lambda.rs - aws::lambda::LambdaClient::invoke (line 66)
[INFO] [stdout]     src/aws/lambda.rs - aws::lambda::LambdaClient::invoke (line 98)
[INFO] [stdout]     src/cache.rs - cache::get (line 40)
[INFO] [stdout]     src/cache.rs - cache::get (line 50)
[INFO] [stdout]     src/cache.rs - cache::set (line 78)
[INFO] [stdout]     src/cache.rs - cache::set (line 93)
[INFO] [stdout]     src/http.rs - http::Response::extract (line 27)
[INFO] [stdout]     src/http.rs - http::post (line 180)
[INFO] [stdout]     src/http.rs - http::post_aws_sigv4 (line 404)
[INFO] [stdout]     src/http.rs - http::put (line 116)
[INFO] [stdout]     src/http.rs - http::put_aws_sigv4 (line 351)
[INFO] [stdout]     src/redis.rs - redis::RedisClient::pipe (line 197)
[INFO] [stdout]     src/spawn.rs - spawn::spawn (line 21)
[INFO] [stdout]     src/topics.rs - topics::publish (line 27)
[INFO] [stdout]     src/topics.rs - topics::publish (line 38)
[INFO] [stdout]     src/topics.rs - topics::publish (line 49)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 14 passed; 18 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.10s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.47s; merged doctests compilation took 0.37s
[INFO] running `Command { std: "docker" "inspect" "d25976cb8cd93a08cefe0e56a333df9078ce29ddb1ee150bc58f04052f5bca31", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d25976cb8cd93a08cefe0e56a333df9078ce29ddb1ee150bc58f04052f5bca31", kill_on_drop: false }`
[INFO] [stdout] d25976cb8cd93a08cefe0e56a333df9078ce29ddb1ee150bc58f04052f5bca31
