From 484cc5c13f26e07df6797e848b76f5a714d7e1af Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 14 Jan 2025 20:11:40 -0800 Subject: [PATCH] Update dependency rust to v1.84.0 (#1226) * Update dependency rust to v1.84.0 * update errors --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Adam H. Leventhal --- dropshot/tests/fail/bad_channel15.stderr | 4 +-- dropshot/tests/fail/bad_channel17.stderr | 3 +- dropshot/tests/fail/bad_channel18.stderr | 3 +- dropshot/tests/fail/bad_channel19.stderr | 3 +- dropshot/tests/fail/bad_channel27.stderr | 4 +-- dropshot/tests/fail/bad_channel4.stderr | 9 +++--- dropshot/tests/fail/bad_channel5.stderr | 9 +++--- dropshot/tests/fail/bad_channel9.stderr | 3 +- dropshot/tests/fail/bad_endpoint10.stderr | 3 +- dropshot/tests/fail/bad_endpoint12.stderr | 5 ++-- dropshot/tests/fail/bad_endpoint15.stderr | 5 ++-- dropshot/tests/fail/bad_endpoint17.stderr | 3 +- dropshot/tests/fail/bad_endpoint18.stderr | 3 +- dropshot/tests/fail/bad_endpoint19.stderr | 3 +- dropshot/tests/fail/bad_endpoint27.stderr | 4 +-- dropshot/tests/fail/bad_endpoint3.stderr | 5 ++-- dropshot/tests/fail/bad_endpoint4.stderr | 9 +++--- dropshot/tests/fail/bad_endpoint5.stderr | 9 +++--- dropshot/tests/fail/bad_endpoint7.stderr | 13 +++++---- dropshot/tests/fail/bad_endpoint9.stderr | 3 +- .../tests/fail/bad_trait_channel15.stderr | 29 ++++++++++++++++++- .../tests/fail/bad_trait_channel17.stderr | 5 ++-- .../tests/fail/bad_trait_channel18.stderr | 5 ++-- .../tests/fail/bad_trait_channel19.stderr | 5 ++-- dropshot/tests/fail/bad_trait_channel4.stderr | 13 +++++---- dropshot/tests/fail/bad_trait_channel5.stderr | 13 +++++---- .../tests/fail/bad_trait_endpoint10.stderr | 5 ++-- .../tests/fail/bad_trait_endpoint12.stderr | 5 ++-- .../tests/fail/bad_trait_endpoint15.stderr | 29 ++++++++++++++++++- .../tests/fail/bad_trait_endpoint17.stderr | 5 ++-- .../tests/fail/bad_trait_endpoint18.stderr | 5 ++-- .../tests/fail/bad_trait_endpoint19.stderr | 5 ++-- .../tests/fail/bad_trait_endpoint3.stderr | 5 ++-- .../tests/fail/bad_trait_endpoint4.stderr | 11 +++---- .../tests/fail/bad_trait_endpoint5.stderr | 11 +++---- .../tests/fail/bad_trait_endpoint7.stderr | 15 +++++----- rust-toolchain.toml | 2 +- 37 files changed, 178 insertions(+), 93 deletions(-) diff --git a/dropshot/tests/fail/bad_channel15.stderr b/dropshot/tests/fail/bad_channel15.stderr index 0e13e725d..46510814f 100644 --- a/dropshot/tests/fail/bad_channel15.stderr +++ b/dropshot/tests/fail/bad_channel15.stderr @@ -7,7 +7,7 @@ error: future cannot be sent between threads safely 14 | | }] | |__^ future returned by `bad_channel` is not `Send` | - = help: within `impl Future>>`, the trait `Send` is not implemented for `Rc`, which is required by `impl Future>>: Send` + = help: within `impl Future>>`, the trait `Send` is not implemented for `Rc` note: future is not `Send` as this value is used across an await --> tests/fail/bad_channel15.rs:20:50 | @@ -31,7 +31,7 @@ error: future cannot be sent between threads safely 15 | async fn bad_channel( | ^^^^^ future created by async block is not `Send` | - = help: within `{async block@$DIR/tests/fail/bad_channel15.rs:15:1: 15:6}`, the trait `Send` is not implemented for `Rc`, which is required by `{async block@$DIR/tests/fail/bad_channel15.rs:15:1: 15:6}: Send` + = help: within `{async block@$DIR/tests/fail/bad_channel15.rs:15:1: 15:6}`, the trait `Send` is not implemented for `Rc` note: future is not `Send` as this value is used across an await --> tests/fail/bad_channel15.rs:20:50 | diff --git a/dropshot/tests/fail/bad_channel17.stderr b/dropshot/tests/fail/bad_channel17.stderr index 346f21ac8..3225c5d3b 100644 --- a/dropshot/tests/fail/bad_channel17.stderr +++ b/dropshot/tests/fail/bad_channel17.stderr @@ -29,8 +29,9 @@ error[E0277]: the trait bound `fn(RequestContext<()>, WebsocketConnection, Webso 15 | | }] | |__- required by a bound introduced by this call 16 | async fn two_websocket_channels( - | ^^^^^ the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>, WebsocketConnection, WebsocketUpgrade) -> impl Future, HttpError>> {two_websocket_channels_adapter}` + | ^^^^^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>, WebsocketConnection, WebsocketUpgrade) -> impl Future, HttpError>> {two_websocket_channels_adapter}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_channel18.stderr b/dropshot/tests/fail/bad_channel18.stderr index d47ce000d..18ad68c12 100644 --- a/dropshot/tests/fail/bad_channel18.stderr +++ b/dropshot/tests/fail/bad_channel18.stderr @@ -68,8 +68,9 @@ error[E0277]: the trait bound `fn(RequestContext<()>, WebsocketConnection, Webso 22 | | }] | |__- required by a bound introduced by this call 23 | async fn websocket_channel_not_last( - | ^^^^^ the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>, WebsocketConnection, WebsocketUpgrade) -> impl Future, HttpError>> {websocket_channel_not_last_adapter}` + | ^^^^^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>, WebsocketConnection, WebsocketUpgrade) -> impl Future, HttpError>> {websocket_channel_not_last_adapter}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_channel19.stderr b/dropshot/tests/fail/bad_channel19.stderr index 26519e2c1..0b6f98832 100644 --- a/dropshot/tests/fail/bad_channel19.stderr +++ b/dropshot/tests/fail/bad_channel19.stderr @@ -29,8 +29,9 @@ error[E0277]: the trait bound `fn(RequestContext<()>, std::string::String, Webso 22 | | }] | |__- required by a bound introduced by this call 23 | async fn non_extractor_as_last_argument( - | ^^^^^ the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>, std::string::String, WebsocketUpgrade) -> impl Future, HttpError>> {non_extractor_as_last_argument_adapter}` + | ^^^^^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>, std::string::String, WebsocketUpgrade) -> impl Future, HttpError>> {non_extractor_as_last_argument_adapter}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_channel27.stderr b/dropshot/tests/fail/bad_channel27.stderr index 27cf78339..b539d5eed 100644 --- a/dropshot/tests/fail/bad_channel27.stderr +++ b/dropshot/tests/fail/bad_channel27.stderr @@ -14,7 +14,7 @@ error[E0277]: `::Context` cannot be sent between threads safely 20 | _rqctx: RequestContext, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `::Context` cannot be sent between threads safely | - = help: the trait `Send` is not implemented for `::Context`, which is required by `::Context: ServerContext` + = help: the trait `Send` is not implemented for `::Context` = note: required for `::Context` to implement `ServerContext` note: required by a bound in `RequestContext` --> src/handler.rs @@ -32,7 +32,7 @@ error[E0277]: `::Context` cannot be shared between threads safe 20 | _rqctx: RequestContext, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `::Context` cannot be shared between threads safely | - = help: the trait `Sync` is not implemented for `::Context`, which is required by `::Context: ServerContext` + = help: the trait `Sync` is not implemented for `::Context` = note: required for `::Context` to implement `ServerContext` note: required by a bound in `RequestContext` --> src/handler.rs diff --git a/dropshot/tests/fail/bad_channel4.stderr b/dropshot/tests/fail/bad_channel4.stderr index 72f095c92..053bd7781 100644 --- a/dropshot/tests/fail/bad_channel4.stderr +++ b/dropshot/tests/fail/bad_channel4.stderr @@ -24,7 +24,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> --> tests/fail/bad_channel4.rs:22:14 | 22 | _params: Query, - | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -79,7 +79,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> 22 | | _params: Query, 23 | | _upgraded: WebsocketConnection, 24 | | ) -> dropshot::WebsocketChannelResult { - | |_____________________________________^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | |_____________________________________^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -133,7 +133,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> 17 | | protocol = WEBSOCKETS, 18 | | path = "/test", 19 | | }] - | |__^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | |__^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -164,8 +164,9 @@ error[E0277]: the trait bound `fn(RequestContext<()>, dropshot::Query` is not implemented for fn item `fn(RequestContext<()>, dropshot::Query, WebsocketUpgrade) -> impl Future, HttpError>> {bad_channel_adapter}` + | ^^^^^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>, dropshot::Query, WebsocketUpgrade) -> impl Future, HttpError>> {bad_channel_adapter}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_channel5.stderr b/dropshot/tests/fail/bad_channel5.stderr index afaf5fbab..c18661ede 100644 --- a/dropshot/tests/fail/bad_channel5.stderr +++ b/dropshot/tests/fail/bad_channel5.stderr @@ -2,7 +2,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> --> tests/fail/bad_channel5.rs:24:14 | 24 | _params: Query, - | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -31,7 +31,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> 24 | | _params: Query, 25 | | _upgraded: WebsocketConnection, 26 | | ) -> dropshot::WebsocketChannelResult { - | |_____________________________________^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | |_____________________________________^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -59,7 +59,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> 19 | | protocol = WEBSOCKETS, 20 | | path = "/test", 21 | | }] - | |__^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | |__^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -90,8 +90,9 @@ error[E0277]: the trait bound `fn(RequestContext<()>, dropshot::Query` is not implemented for fn item `fn(RequestContext<()>, dropshot::Query, WebsocketUpgrade) -> impl Future, HttpError>> {bad_channel_adapter}` + | ^^^^^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>, dropshot::Query, WebsocketUpgrade) -> impl Future, HttpError>> {bad_channel_adapter}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_channel9.stderr b/dropshot/tests/fail/bad_channel9.stderr index 43b74cca0..61b12d4b2 100644 --- a/dropshot/tests/fail/bad_channel9.stderr +++ b/dropshot/tests/fail/bad_channel9.stderr @@ -27,8 +27,9 @@ error[E0277]: the trait bound `fn(dropshot::Query, WebsocketUpgrade 22 | | }] | |__- required by a bound introduced by this call 23 | async fn bad_channel( - | ^^^^^ the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(dropshot::Query, WebsocketUpgrade) -> impl Future, HttpError>> {bad_channel_adapter}` + | ^^^^^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(dropshot::Query, WebsocketUpgrade) -> impl Future, HttpError>> {bad_channel_adapter}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_endpoint10.stderr b/dropshot/tests/fail/bad_endpoint10.stderr index 5c7701782..722acd55f 100644 --- a/dropshot/tests/fail/bad_endpoint10.stderr +++ b/dropshot/tests/fail/bad_endpoint10.stderr @@ -28,8 +28,9 @@ error[E0277]: the trait bound `fn(RequestContext<()>) -> impl Future` is not implemented for fn item `fn(RequestContext<()>) -> impl Future, String>> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::bad_error_type}` + | ^^^^^^^^^^^^^^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>) -> impl Future, String>> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::bad_error_type}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_endpoint12.stderr b/dropshot/tests/fail/bad_endpoint12.stderr index 45029a8af..2e06b816e 100644 --- a/dropshot/tests/fail/bad_endpoint12.stderr +++ b/dropshot/tests/fail/bad_endpoint12.stderr @@ -2,7 +2,7 @@ error[E0277]: the trait bound `String: HttpResponse` is not satisfied --> tests/fail/bad_endpoint12.rs:15:6 | 15 | ) -> Result { - | ^^^^^^ the trait `HttpCodedResponse` is not implemented for `String`, which is required by `String: HttpResponse` + | ^^^^^^ the trait `HttpCodedResponse` is not implemented for `String` | = help: the following other types implement trait `HttpCodedResponse`: HttpResponseAccepted @@ -36,8 +36,9 @@ error[E0277]: the trait bound `fn(RequestContext<()>) -> impl Future` is not implemented for fn item `fn(RequestContext<()>) -> impl Future> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::bad_response_type}` + | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>) -> impl Future> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::bad_response_type}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_endpoint15.stderr b/dropshot/tests/fail/bad_endpoint15.stderr index 08e8a6588..89299d1b3 100644 --- a/dropshot/tests/fail/bad_endpoint15.stderr +++ b/dropshot/tests/fail/bad_endpoint15.stderr @@ -7,8 +7,9 @@ error[E0277]: the trait bound `fn(RequestContext<()>) -> impl Future` is not implemented for fn item `fn(RequestContext<()>) -> impl Future, HttpError>> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::bad_endpoint}` + | ^^^^^^^^^^^^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>) -> impl Future, HttpError>> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::bad_endpoint}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | @@ -27,7 +28,7 @@ error: future cannot be sent between threads safely 16 | | }] | |__^ future returned by `bad_endpoint` is not `Send` | - = help: within `impl Future, HttpError>>`, the trait `Send` is not implemented for `Rc`, which is required by `impl Future, HttpError>>: Send` + = help: within `impl Future, HttpError>>`, the trait `Send` is not implemented for `Rc` note: future is not `Send` as this value is used across an await --> tests/fail/bad_endpoint15.rs:21:50 | diff --git a/dropshot/tests/fail/bad_endpoint17.stderr b/dropshot/tests/fail/bad_endpoint17.stderr index 4c81848e6..c24aefe48 100644 --- a/dropshot/tests/fail/bad_endpoint17.stderr +++ b/dropshot/tests/fail/bad_endpoint17.stderr @@ -29,8 +29,9 @@ error[E0277]: the trait bound `fn(RequestContext<()>, TypedBody, UntypedB 27 | | }] | |__- required by a bound introduced by this call 28 | async fn two_exclusive_extractors( - | ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>, TypedBody, UntypedBody) -> impl Future, HttpError>> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::two_exclusive_extractors}` + | ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>, TypedBody, UntypedBody) -> impl Future, HttpError>> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::two_exclusive_extractors}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_endpoint18.stderr b/dropshot/tests/fail/bad_endpoint18.stderr index d9f0a2737..dd42db275 100644 --- a/dropshot/tests/fail/bad_endpoint18.stderr +++ b/dropshot/tests/fail/bad_endpoint18.stderr @@ -29,8 +29,9 @@ error[E0277]: the trait bound `fn(RequestContext<()>, TypedBody, dropshot 24 | | }] | |__- required by a bound introduced by this call 25 | async fn exclusive_extractor_not_last( - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>, TypedBody, dropshot::Query) -> impl Future, HttpError>> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::exclusive_extractor_not_last}` + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>, TypedBody, dropshot::Query) -> impl Future, HttpError>> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::exclusive_extractor_not_last}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_endpoint19.stderr b/dropshot/tests/fail/bad_endpoint19.stderr index efaf795d9..6ffea44ec 100644 --- a/dropshot/tests/fail/bad_endpoint19.stderr +++ b/dropshot/tests/fail/bad_endpoint19.stderr @@ -29,8 +29,9 @@ error[E0277]: the trait bound `fn(RequestContext<()>, std::string::String, drops 23 | | }] | |__- required by a bound introduced by this call 24 | async fn non_extractor_as_last_argument( - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>, std::string::String, dropshot::Query) -> impl Future, HttpError>> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::non_extractor_as_last_argument}` + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>, std::string::String, dropshot::Query) -> impl Future, HttpError>> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::non_extractor_as_last_argument}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_endpoint27.stderr b/dropshot/tests/fail/bad_endpoint27.stderr index a5a8c0f6e..ace858907 100644 --- a/dropshot/tests/fail/bad_endpoint27.stderr +++ b/dropshot/tests/fail/bad_endpoint27.stderr @@ -13,7 +13,7 @@ error[E0277]: `::Context` cannot be sent between threads safely 21 | _rqctx: RequestContext, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `::Context` cannot be sent between threads safely | - = help: the trait `Send` is not implemented for `::Context`, which is required by `::Context: ServerContext` + = help: the trait `Send` is not implemented for `::Context` = note: required for `::Context` to implement `ServerContext` note: required by a bound in `RequestContext` --> src/handler.rs @@ -31,7 +31,7 @@ error[E0277]: `::Context` cannot be shared between threads safe 21 | _rqctx: RequestContext, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `::Context` cannot be shared between threads safely | - = help: the trait `Sync` is not implemented for `::Context`, which is required by `::Context: ServerContext` + = help: the trait `Sync` is not implemented for `::Context` = note: required for `::Context` to implement `ServerContext` note: required by a bound in `RequestContext` --> src/handler.rs diff --git a/dropshot/tests/fail/bad_endpoint3.stderr b/dropshot/tests/fail/bad_endpoint3.stderr index 610cc9c20..10799d1fd 100644 --- a/dropshot/tests/fail/bad_endpoint3.stderr +++ b/dropshot/tests/fail/bad_endpoint3.stderr @@ -2,7 +2,7 @@ error[E0277]: the trait bound `String: ExclusiveExtractor` is not satisfied --> tests/fail/bad_endpoint3.rs:18:13 | 18 | _param: String, - | ^^^^^^ the trait `SharedExtractor` is not implemented for `String`, which is required by `String: ExclusiveExtractor` + | ^^^^^^ the trait `SharedExtractor` is not implemented for `String` | = help: the following other types implement trait `SharedExtractor`: dropshot::Path @@ -30,8 +30,9 @@ error[E0277]: the trait bound `fn(RequestContext<()>, String) -> impl Future` is not implemented for fn item `fn(RequestContext<()>, String) -> impl Future, HttpError>> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::bad_endpoint}` + | ^^^^^^^^^^^^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>, String) -> impl Future, HttpError>> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::bad_endpoint}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_endpoint4.stderr b/dropshot/tests/fail/bad_endpoint4.stderr index 549f7aa9a..e232b657a 100644 --- a/dropshot/tests/fail/bad_endpoint4.stderr +++ b/dropshot/tests/fail/bad_endpoint4.stderr @@ -24,7 +24,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> --> tests/fail/bad_endpoint4.rs:23:14 | 23 | _params: Query, - | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -77,7 +77,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> 22 | | _rqctx: RequestContext<()>, 23 | | _params: Query, 24 | | ) -> Result, HttpError> { - | |__________________________________________^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | |__________________________________________^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -107,8 +107,9 @@ error[E0277]: the trait bound `fn(RequestContext<()>, dropshot::Query` is not implemented for fn item `fn(RequestContext<()>, dropshot::Query) -> impl Future, HttpError>> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::bad_endpoint}` + | ^^^^^^^^^^^^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>, dropshot::Query) -> impl Future, HttpError>> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::bad_endpoint}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | @@ -151,7 +152,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> 18 | | method = GET, 19 | | path = "/test", 20 | | }] - | |__^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | |__^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag diff --git a/dropshot/tests/fail/bad_endpoint5.stderr b/dropshot/tests/fail/bad_endpoint5.stderr index d907b829d..72e2acc61 100644 --- a/dropshot/tests/fail/bad_endpoint5.stderr +++ b/dropshot/tests/fail/bad_endpoint5.stderr @@ -2,7 +2,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> --> tests/fail/bad_endpoint5.rs:25:14 | 25 | _params: Query, - | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -30,7 +30,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> 24 | | _rqctx: RequestContext<()>, 25 | | _params: Query, 26 | | ) -> Result, HttpError> { - | |__________________________________________^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | |__________________________________________^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -60,8 +60,9 @@ error[E0277]: the trait bound `fn(RequestContext<()>, dropshot::Query` is not implemented for fn item `fn(RequestContext<()>, dropshot::Query) -> impl Future, HttpError>> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::bad_endpoint}` + | ^^^^^^^^^^^^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>, dropshot::Query) -> impl Future, HttpError>> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::bad_endpoint}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | @@ -78,7 +79,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> 20 | | method = GET, 21 | | path = "/test", 22 | | }] - | |__^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | |__^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag diff --git a/dropshot/tests/fail/bad_endpoint7.stderr b/dropshot/tests/fail/bad_endpoint7.stderr index 51f2462d3..112744c51 100644 --- a/dropshot/tests/fail/bad_endpoint7.stderr +++ b/dropshot/tests/fail/bad_endpoint7.stderr @@ -2,7 +2,7 @@ error[E0277]: the trait bound `Ret: serde::ser::Serialize` is not satisfied --> tests/fail/bad_endpoint7.rs:24:6 | 24 | ) -> Result, HttpError> { - | ^^^^^^ the trait `serde::ser::Serialize` is not implemented for `Ret`, which is required by `Ret: dropshot::handler::HttpResponseContent` + | ^^^^^^ the trait `serde::ser::Serialize` is not implemented for `Ret` | = note: for local types consider adding `#[derive(serde::Serialize)]` to your `Ret` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -33,7 +33,7 @@ error[E0277]: the trait bound `Ret: dropshot::handler::HttpResponseContent` is n 26 | | x: "Oxide".to_string(), 27 | | y: 0x1de, 28 | | })) - | |_____^ the trait `serde::ser::Serialize` is not implemented for `Ret`, which is required by `Ret: dropshot::handler::HttpResponseContent` + | |_____^ the trait `serde::ser::Serialize` is not implemented for `Ret` | = help: the following other types implement trait `serde::ser::Serialize`: &'a T @@ -56,7 +56,7 @@ error[E0277]: the trait bound `Ret: serde::ser::Serialize` is not satisfied --> tests/fail/bad_endpoint7.rs:25:5 | 25 | Ok(HttpResponseOk(Ret { - | ^^ the trait `serde::ser::Serialize` is not implemented for `Ret`, which is required by `Ret: dropshot::handler::HttpResponseContent` + | ^^ the trait `serde::ser::Serialize` is not implemented for `Ret` | = note: for local types consider adding `#[derive(serde::Serialize)]` to your `Ret` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -84,7 +84,7 @@ error[E0277]: the trait bound `Ret: serde::ser::Serialize` is not satisfied 26 | | x: "Oxide".to_string(), 27 | | y: 0x1de, 28 | | })) - | |_______^ the trait `serde::ser::Serialize` is not implemented for `Ret`, which is required by `Ret: dropshot::handler::HttpResponseContent` + | |_______^ the trait `serde::ser::Serialize` is not implemented for `Ret` | = note: for local types consider adding `#[derive(serde::Serialize)]` to your `Ret` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -111,7 +111,7 @@ error[E0277]: the trait bound `Ret: serde::ser::Serialize` is not satisfied 22 | / async fn bad_endpoint( 23 | | _rqctx: RequestContext<()>, 24 | | ) -> Result, HttpError> { - | |___________________________________________^ the trait `serde::ser::Serialize` is not implemented for `Ret`, which is required by `Ret: dropshot::handler::HttpResponseContent` + | |___________________________________________^ the trait `serde::ser::Serialize` is not implemented for `Ret` | = note: for local types consider adding `#[derive(serde::Serialize)]` to your `Ret` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -141,8 +141,9 @@ error[E0277]: the trait bound `fn(RequestContext<()>) -> impl Future` is not implemented for fn item `fn(RequestContext<()>) -> impl Future, HttpError>> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::bad_endpoint}` + | ^^^^^^^^^^^^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<()>) -> impl Future, HttpError>> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::bad_endpoint}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_endpoint9.stderr b/dropshot/tests/fail/bad_endpoint9.stderr index 072b25588..3e47f2c57 100644 --- a/dropshot/tests/fail/bad_endpoint9.stderr +++ b/dropshot/tests/fail/bad_endpoint9.stderr @@ -27,8 +27,9 @@ error[E0277]: the trait bound `fn(dropshot::Query) -> impl Future` is not implemented for fn item `fn(dropshot::Query) -> impl Future, HttpError>> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::bad_endpoint}` + | ^^^^^^^^^^^^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(dropshot::Query) -> impl Future, HttpError>> { for ApiEndpoint< as RequestContextArgument>::Context>>::from::bad_endpoint}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_trait_channel15.stderr b/dropshot/tests/fail/bad_trait_channel15.stderr index 14cfe9c77..f85e492c0 100644 --- a/dropshot/tests/fail/bad_trait_channel15.stderr +++ b/dropshot/tests/fail/bad_trait_channel15.stderr @@ -1,10 +1,37 @@ +error: future cannot be sent between threads safely + --> tests/fail/bad_trait_channel15.rs:21:43 + | +21 | ) -> dropshot::WebsocketChannelResult { + | ___________________________________________^ +22 | | // Note: we're check error messages from the default trait-provided impl +23 | | // -- that's the code the proc macro actually transforms. +24 | | let _non_send_type = Rc::new(0); +25 | | tokio::time::sleep(Duration::from_millis(1)).await; +26 | | Ok(()) +27 | | } + | |_____^ future created by async block is not `Send` + | + = help: within `{async block@$DIR/tests/fail/bad_trait_channel15.rs:21:43: 27:6}`, the trait `Send` is not implemented for `Rc` +note: future is not `Send` as this value is used across an await + --> tests/fail/bad_trait_channel15.rs:25:54 + | +24 | let _non_send_type = Rc::new(0); + | -------------- has type `Rc` which is not `Send` +25 | tokio::time::sleep(Duration::from_millis(1)).await; + | ^^^^^ await occurs here, with `_non_send_type` maybe used later +note: required by a bound in an opaque type + --> tests/fail/bad_trait_channel15.rs:21:10 + | +21 | ) -> dropshot::WebsocketChannelResult { + | ^^^^^^^^ + error: future cannot be sent between threads safely --> tests/fail/bad_trait_channel15.rs:10:1 | 10 | #[dropshot::api_description] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ future created by async block is not `Send` | - = help: within `{async block@$DIR/tests/fail/bad_trait_channel15.rs:21:43: 27:6}`, the trait `Send` is not implemented for `Rc`, which is required by `{async block@$DIR/tests/fail/bad_trait_channel15.rs:21:43: 27:6}: Send` + = help: within `{async block@$DIR/tests/fail/bad_trait_channel15.rs:21:43: 27:6}`, the trait `Send` is not implemented for `Rc` note: future is not `Send` as this value is used across an await --> tests/fail/bad_trait_channel15.rs:25:54 | diff --git a/dropshot/tests/fail/bad_trait_channel17.stderr b/dropshot/tests/fail/bad_trait_channel17.stderr index f9968d896..ae9d23b01 100644 --- a/dropshot/tests/fail/bad_trait_channel17.stderr +++ b/dropshot/tests/fail/bad_trait_channel17.stderr @@ -2,7 +2,7 @@ error[E0277]: the trait bound `dropshot::WebsocketConnection: SharedExtractor` i --> tests/fail/bad_trait_channel17.rs:15:5 | 15 | #[channel { - | ^ the trait `SharedExtractor` is not implemented for `dropshot::WebsocketConnection`, which is required by `(dropshot::WebsocketConnection, WebsocketUpgrade): dropshot::extractor::common::RequestExtractor` + | ^ the trait `SharedExtractor` is not implemented for `dropshot::WebsocketConnection` | = help: the following other types implement trait `SharedExtractor`: dropshot::Path @@ -28,8 +28,9 @@ error[E0277]: the trait bound `fn(dropshot::RequestContext<` is not implemented for fn item `fn(dropshot::RequestContext<::Context>, dropshot::WebsocketConnection, WebsocketUpgrade) -> impl Future, HttpError>> {two_websocket_channels_adapter::}` + | |_________^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(dropshot::RequestContext<::Context>, dropshot::WebsocketConnection, WebsocketUpgrade) -> impl Future, HttpError>> {two_websocket_channels_adapter::}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_trait_channel18.stderr b/dropshot/tests/fail/bad_trait_channel18.stderr index 62ff02712..eedc4c81c 100644 --- a/dropshot/tests/fail/bad_trait_channel18.stderr +++ b/dropshot/tests/fail/bad_trait_channel18.stderr @@ -41,7 +41,7 @@ error[E0277]: the trait bound `dropshot::WebsocketConnection: SharedExtractor` i --> tests/fail/bad_trait_channel18.rs:22:5 | 22 | #[channel { - | ^ the trait `SharedExtractor` is not implemented for `dropshot::WebsocketConnection`, which is required by `(dropshot::WebsocketConnection, WebsocketUpgrade): dropshot::extractor::common::RequestExtractor` + | ^ the trait `SharedExtractor` is not implemented for `dropshot::WebsocketConnection` | = help: the following other types implement trait `SharedExtractor`: dropshot::Path @@ -67,8 +67,9 @@ error[E0277]: the trait bound `fn(dropshot::RequestContext<` is not implemented for fn item `fn(dropshot::RequestContext<::Context>, dropshot::WebsocketConnection, WebsocketUpgrade) -> impl Future, HttpError>> {websocket_channel_not_last_adapter::}` + | |_________^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(dropshot::RequestContext<::Context>, dropshot::WebsocketConnection, WebsocketUpgrade) -> impl Future, HttpError>> {websocket_channel_not_last_adapter::}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_trait_channel19.stderr b/dropshot/tests/fail/bad_trait_channel19.stderr index 4ad609601..88753b382 100644 --- a/dropshot/tests/fail/bad_trait_channel19.stderr +++ b/dropshot/tests/fail/bad_trait_channel19.stderr @@ -2,7 +2,7 @@ error[E0277]: the trait bound `std::string::String: SharedExtractor` is not sati --> tests/fail/bad_trait_channel19.rs:23:5 | 23 | #[channel { - | ^ the trait `SharedExtractor` is not implemented for `std::string::String`, which is required by `(std::string::String, WebsocketUpgrade): dropshot::extractor::common::RequestExtractor` + | ^ the trait `SharedExtractor` is not implemented for `std::string::String` | = help: the following other types implement trait `SharedExtractor`: dropshot::Path @@ -28,8 +28,9 @@ error[E0277]: the trait bound `fn(dropshot::RequestContext<` is not implemented for fn item `fn(dropshot::RequestContext<::Context>, std::string::String, WebsocketUpgrade) -> impl Future, HttpError>> {middle_not_shared_extractor_adapter::}` + | |_________^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(dropshot::RequestContext<::Context>, std::string::String, WebsocketUpgrade) -> impl Future, HttpError>> {middle_not_shared_extractor_adapter::}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_trait_channel4.stderr b/dropshot/tests/fail/bad_trait_channel4.stderr index 35f5ca96e..aed5f79bc 100644 --- a/dropshot/tests/fail/bad_trait_channel4.stderr +++ b/dropshot/tests/fail/bad_trait_channel4.stderr @@ -32,7 +32,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> 41 | | _params: Query, 42 | | _upgraded: WebsocketConnection, 43 | | ) -> dropshot::WebsocketChannelResult { - | |_________________________________________^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | |_________________________________________^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -79,7 +79,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> --> tests/fail/bad_trait_channel4.rs:41:18 | 41 | _params: Query, - | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -126,7 +126,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> --> tests/fail/bad_trait_channel4.rs:26:18 | 26 | _params: Query, - | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -174,7 +174,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> --> tests/fail/bad_trait_channel4.rs:16:1 | 16 | #[dropshot::api_description] - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -222,7 +222,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> --> tests/fail/bad_trait_channel4.rs:20:5 | 20 | #[channel { - | ^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | ^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -254,8 +254,9 @@ error[E0277]: the trait bound `fn(dropshot::RequestContext<` is not implemented for fn item `fn(dropshot::RequestContext<::Context>, dropshot::Query, WebsocketUpgrade) -> impl Future, HttpError>> {bad_channel_adapter::}` + | |_________^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(dropshot::RequestContext<::Context>, dropshot::Query, WebsocketUpgrade) -> impl Future, HttpError>> {bad_channel_adapter::}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_trait_channel5.stderr b/dropshot/tests/fail/bad_trait_channel5.stderr index 51801a218..d8ec25cbf 100644 --- a/dropshot/tests/fail/bad_trait_channel5.stderr +++ b/dropshot/tests/fail/bad_trait_channel5.stderr @@ -6,7 +6,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> 41 | | _params: Query, 42 | | _upgraded: WebsocketConnection, 43 | | ) -> dropshot::WebsocketChannelResult { - | |_________________________________________^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | |_________________________________________^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -31,7 +31,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> --> tests/fail/bad_trait_channel5.rs:41:18 | 41 | _params: Query, - | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -56,7 +56,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> --> tests/fail/bad_trait_channel5.rs:27:18 | 27 | _params: Query, - | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -81,7 +81,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> --> tests/fail/bad_trait_channel5.rs:17:1 | 17 | #[dropshot::api_description] - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -107,7 +107,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> --> tests/fail/bad_trait_channel5.rs:21:5 | 21 | #[channel { - | ^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | ^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -139,8 +139,9 @@ error[E0277]: the trait bound `fn(dropshot::RequestContext<` is not implemented for fn item `fn(dropshot::RequestContext<::Context>, dropshot::Query, WebsocketUpgrade) -> impl Future, HttpError>> {bad_channel_adapter::}` + | |_________^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(dropshot::RequestContext<::Context>, dropshot::Query, WebsocketUpgrade) -> impl Future, HttpError>> {bad_channel_adapter::}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_trait_endpoint10.stderr b/dropshot/tests/fail/bad_trait_endpoint10.stderr index d059d6657..6fb5aa502 100644 --- a/dropshot/tests/fail/bad_trait_endpoint10.stderr +++ b/dropshot/tests/fail/bad_trait_endpoint10.stderr @@ -2,7 +2,7 @@ error[E0277]: the trait bound `String: HttpResponseError` is not satisfied --> tests/fail/bad_trait_endpoint10.rs:19:10 | 19 | ) -> Result; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `HttpResponseError` is not implemented for `String`, which is required by `Result: dropshot::api_description::HttpResultType` + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `HttpResponseError` is not implemented for `String` | = note: consider using `dropshot::HttpError`, unless custom error presentation is needed = help: the trait `HttpResponseError` is implemented for `HttpError` @@ -27,8 +27,9 @@ error[E0277]: the trait bound `fn(RequestContext<::Context> 15 | | path = "/test", 16 | | }] 17 | | async fn bad_error_type( - | |___________________________^ the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<::Context>) -> impl Future> + Send + 'static {::bad_error_type}` + | |___________________________^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<::Context>) -> impl Future> + Send + 'static {::bad_error_type}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_trait_endpoint12.stderr b/dropshot/tests/fail/bad_trait_endpoint12.stderr index b2b094a3c..a256c53bb 100644 --- a/dropshot/tests/fail/bad_trait_endpoint12.stderr +++ b/dropshot/tests/fail/bad_trait_endpoint12.stderr @@ -2,7 +2,7 @@ error[E0277]: the trait bound `std::string::String: HttpCodedResponse` is not sa --> tests/fail/bad_trait_endpoint12.rs:24:10 | 24 | ) -> Result; - | ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `HttpCodedResponse` is not implemented for `std::string::String`, which is required by `Result: dropshot::api_description::HttpResultType` + | ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `HttpCodedResponse` is not implemented for `std::string::String` | = help: the following other types implement trait `HttpCodedResponse`: HttpResponseAccepted @@ -35,8 +35,9 @@ error[E0277]: the trait bound `fn(RequestContext<::Context> 20 | | path = "/test", 21 | | }] 22 | | async fn bad_response_type( - | |______________________________^ the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<::Context>) -> impl Future> + Send + 'static {::bad_response_type}` + | |______________________________^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<::Context>) -> impl Future> + Send + 'static {::bad_response_type}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_trait_endpoint15.stderr b/dropshot/tests/fail/bad_trait_endpoint15.stderr index 897bd71d9..df08407f0 100644 --- a/dropshot/tests/fail/bad_trait_endpoint15.stderr +++ b/dropshot/tests/fail/bad_trait_endpoint15.stderr @@ -1,10 +1,37 @@ +error: future cannot be sent between threads safely + --> tests/fail/bad_trait_endpoint15.rs:21:49 + | +21 | ) -> Result, HttpError> { + | _________________________________________________^ +22 | | // Note: we're check error messages from the default trait-provided impl +23 | | // -- that's the code the proc macro actually transforms. +24 | | let non_send_type = Rc::new(0); +25 | | tokio::time::sleep(Duration::from_millis(1)).await; +26 | | Ok(HttpResponseOk(*non_send_type)) +27 | | } + | |_____^ future created by async block is not `Send` + | + = help: within `{async block@$DIR/tests/fail/bad_trait_endpoint15.rs:21:49: 27:6}`, the trait `Send` is not implemented for `Rc` +note: future is not `Send` as this value is used across an await + --> tests/fail/bad_trait_endpoint15.rs:25:54 + | +24 | let non_send_type = Rc::new(0); + | ------------- has type `Rc` which is not `Send` +25 | tokio::time::sleep(Duration::from_millis(1)).await; + | ^^^^^ await occurs here, with `non_send_type` maybe used later +note: required by a bound in an opaque type + --> tests/fail/bad_trait_endpoint15.rs:21:10 + | +21 | ) -> Result, HttpError> { + | ^^^^^^ + error: future cannot be sent between threads safely --> tests/fail/bad_trait_endpoint15.rs:11:1 | 11 | #[dropshot::api_description] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ future created by async block is not `Send` | - = help: within `{async block@$DIR/tests/fail/bad_trait_endpoint15.rs:21:49: 27:6}`, the trait `Send` is not implemented for `Rc`, which is required by `{async block@$DIR/tests/fail/bad_trait_endpoint15.rs:21:49: 27:6}: Send` + = help: within `{async block@$DIR/tests/fail/bad_trait_endpoint15.rs:21:49: 27:6}`, the trait `Send` is not implemented for `Rc` note: future is not `Send` as this value is used across an await --> tests/fail/bad_trait_endpoint15.rs:25:54 | diff --git a/dropshot/tests/fail/bad_trait_endpoint17.stderr b/dropshot/tests/fail/bad_trait_endpoint17.stderr index bcab5394b..523ef49ec 100644 --- a/dropshot/tests/fail/bad_trait_endpoint17.stderr +++ b/dropshot/tests/fail/bad_trait_endpoint17.stderr @@ -2,7 +2,7 @@ error[E0277]: the trait bound `dropshot::TypedBody: SharedExtractor` is n --> tests/fail/bad_trait_endpoint17.rs:27:5 | 27 | #[endpoint { - | ^ the trait `SharedExtractor` is not implemented for `dropshot::TypedBody`, which is required by `(dropshot::TypedBody, dropshot::UntypedBody): dropshot::extractor::common::RequestExtractor` + | ^ the trait `SharedExtractor` is not implemented for `dropshot::TypedBody` | = help: the following other types implement trait `SharedExtractor`: dropshot::Path @@ -28,8 +28,9 @@ error[E0277]: the trait bound `fn(RequestContext<::Context> 29 | | path = "/test", 30 | | }] 31 | | async fn two_exclusive_extractors( - | |_____________________________________^ the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<::Context>, dropshot::TypedBody, dropshot::UntypedBody) -> impl Future> + Send + 'static {::two_exclusive_extractors}` + | |_____________________________________^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<::Context>, dropshot::TypedBody, dropshot::UntypedBody) -> impl Future> + Send + 'static {::two_exclusive_extractors}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_trait_endpoint18.stderr b/dropshot/tests/fail/bad_trait_endpoint18.stderr index fffeb7f21..ea1894192 100644 --- a/dropshot/tests/fail/bad_trait_endpoint18.stderr +++ b/dropshot/tests/fail/bad_trait_endpoint18.stderr @@ -2,7 +2,7 @@ error[E0277]: the trait bound `dropshot::TypedBody: SharedExtractor` is n --> tests/fail/bad_trait_endpoint18.rs:24:5 | 24 | #[endpoint { - | ^ the trait `SharedExtractor` is not implemented for `dropshot::TypedBody`, which is required by `(dropshot::TypedBody, dropshot::Query): dropshot::extractor::common::RequestExtractor` + | ^ the trait `SharedExtractor` is not implemented for `dropshot::TypedBody` | = help: the following other types implement trait `SharedExtractor`: dropshot::Path @@ -28,8 +28,9 @@ error[E0277]: the trait bound `fn(RequestContext<::Context> 26 | | path = "/test", 27 | | }] 28 | | async fn exclusive_extractor_not_last( - | |_________________________________________^ the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<::Context>, dropshot::TypedBody, dropshot::Query) -> impl Future> + Send + 'static {::exclusive_extractor_not_last}` + | |_________________________________________^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<::Context>, dropshot::TypedBody, dropshot::Query) -> impl Future> + Send + 'static {::exclusive_extractor_not_last}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_trait_endpoint19.stderr b/dropshot/tests/fail/bad_trait_endpoint19.stderr index 9a1989d0a..41a9178b5 100644 --- a/dropshot/tests/fail/bad_trait_endpoint19.stderr +++ b/dropshot/tests/fail/bad_trait_endpoint19.stderr @@ -2,7 +2,7 @@ error[E0277]: the trait bound `std::string::String: SharedExtractor` is not sati --> tests/fail/bad_trait_endpoint19.rs:24:5 | 24 | #[endpoint { - | ^ the trait `SharedExtractor` is not implemented for `std::string::String`, which is required by `(std::string::String, dropshot::Query): dropshot::extractor::common::RequestExtractor` + | ^ the trait `SharedExtractor` is not implemented for `std::string::String` | = help: the following other types implement trait `SharedExtractor`: dropshot::Path @@ -28,8 +28,9 @@ error[E0277]: the trait bound `fn(RequestContext<::Context> 26 | | path = "/test", 27 | | }] 28 | | async fn non_extractor_as_last_argument( - | |___________________________________________^ the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<::Context>, std::string::String, dropshot::Query) -> impl Future> + Send + 'static {::non_extractor_as_last_argument}` + | |___________________________________________^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<::Context>, std::string::String, dropshot::Query) -> impl Future> + Send + 'static {::non_extractor_as_last_argument}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_trait_endpoint3.stderr b/dropshot/tests/fail/bad_trait_endpoint3.stderr index 292b2c4f7..0d3741fb9 100644 --- a/dropshot/tests/fail/bad_trait_endpoint3.stderr +++ b/dropshot/tests/fail/bad_trait_endpoint3.stderr @@ -2,7 +2,7 @@ error[E0277]: the trait bound `String: SharedExtractor` is not satisfied --> tests/fail/bad_trait_endpoint3.rs:15:5 | 15 | #[endpoint { - | ^ the trait `SharedExtractor` is not implemented for `String`, which is required by `(String,): dropshot::extractor::common::RequestExtractor` + | ^ the trait `SharedExtractor` is not implemented for `String` | = help: the following other types implement trait `SharedExtractor`: dropshot::Path @@ -29,8 +29,9 @@ error[E0277]: the trait bound `fn(RequestContext<::Context> 17 | | path = "/test", 18 | | }] 19 | | async fn bad_endpoint( - | |_________________________^ the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<::Context>, String) -> impl Future> + Send + 'static {::bad_endpoint}` + | |_________________________^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<::Context>, String) -> impl Future> + Send + 'static {::bad_endpoint}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_trait_endpoint4.stderr b/dropshot/tests/fail/bad_trait_endpoint4.stderr index 76fcaf8e2..7b7c8df0d 100644 --- a/dropshot/tests/fail/bad_trait_endpoint4.stderr +++ b/dropshot/tests/fail/bad_trait_endpoint4.stderr @@ -30,7 +30,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> 39 | | _rqctx: RequestContext<()>, 40 | | _params: Query, 41 | | ) -> Result { - | |________________________________________________________^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | |________________________________________________________^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -77,7 +77,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> --> tests/fail/bad_trait_endpoint4.rs:40:18 | 40 | _params: Query, - | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -124,7 +124,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> --> tests/fail/bad_trait_endpoint4.rs:27:18 | 27 | _params: Query, - | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -171,7 +171,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> --> tests/fail/bad_trait_endpoint4.rs:21:5 | 21 | #[endpoint { - | ^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | ^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -203,8 +203,9 @@ error[E0277]: the trait bound `fn(RequestContext<::Context> 23 | | path = "/test", 24 | | }] 25 | | async fn bad_endpoint( - | |_________________________^ the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<::Context>, dropshot::Query) -> impl Future> + Send + 'static {::bad_endpoint}` + | |_________________________^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<::Context>, dropshot::Query) -> impl Future> + Send + 'static {::bad_endpoint}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_trait_endpoint5.stderr b/dropshot/tests/fail/bad_trait_endpoint5.stderr index cd42fdee8..103e3f6fa 100644 --- a/dropshot/tests/fail/bad_trait_endpoint5.stderr +++ b/dropshot/tests/fail/bad_trait_endpoint5.stderr @@ -5,7 +5,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> 40 | | _rqctx: RequestContext<()>, 41 | | _params: Query, 42 | | ) -> Result { - | |________________________________________________________^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | |________________________________________________________^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -30,7 +30,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> --> tests/fail/bad_trait_endpoint5.rs:41:18 | 41 | _params: Query, - | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -55,7 +55,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> --> tests/fail/bad_trait_endpoint5.rs:28:18 | 28 | _params: Query, - | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -80,7 +80,7 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de> --> tests/fail/bad_trait_endpoint5.rs:22:5 | 22 | #[endpoint { - | ^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams`, which is required by `QueryParams: serde::de::DeserializeOwned` + | ^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryParams` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -112,8 +112,9 @@ error[E0277]: the trait bound `fn(RequestContext<::Context> 24 | | path = "/test", 25 | | }] 26 | | async fn bad_endpoint( - | |_________________________^ the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<::Context>, dropshot::Query) -> impl Future> + Send + 'static {::bad_endpoint}` + | |_________________________^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<::Context>, dropshot::Query) -> impl Future> + Send + 'static {::bad_endpoint}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/dropshot/tests/fail/bad_trait_endpoint7.stderr b/dropshot/tests/fail/bad_trait_endpoint7.stderr index 9a82831f9..799ab7ebf 100644 --- a/dropshot/tests/fail/bad_trait_endpoint7.stderr +++ b/dropshot/tests/fail/bad_trait_endpoint7.stderr @@ -2,7 +2,7 @@ error[E0277]: the trait bound `Ret: dropshot::handler::HttpResponseContent` is n --> tests/fail/bad_trait_endpoint7.rs:41:27 | 41 | Ok(HttpResponseOk(Ret { x: "Oxide".to_string(), y: 0x1de })) - | -------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `Ret`, which is required by `Ret: dropshot::handler::HttpResponseContent` + | -------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `Ret` | | | required by a bound introduced by this call | @@ -27,7 +27,7 @@ error[E0277]: the trait bound `Ret: serde::ser::Serialize` is not satisfied --> tests/fail/bad_trait_endpoint7.rs:41:9 | 41 | Ok(HttpResponseOk(Ret { x: "Oxide".to_string(), y: 0x1de })) - | ^^ the trait `serde::ser::Serialize` is not implemented for `Ret`, which is required by `Ret: dropshot::handler::HttpResponseContent` + | ^^ the trait `serde::ser::Serialize` is not implemented for `Ret` | = note: for local types consider adding `#[derive(serde::Serialize)]` to your `Ret` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -52,7 +52,7 @@ error[E0277]: the trait bound `Ret: serde::ser::Serialize` is not satisfied --> tests/fail/bad_trait_endpoint7.rs:41:9 | 41 | Ok(HttpResponseOk(Ret { x: "Oxide".to_string(), y: 0x1de })) - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `Ret`, which is required by `Ret: dropshot::handler::HttpResponseContent` + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `Ret` | = note: for local types consider adding `#[derive(serde::Serialize)]` to your `Ret` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -79,7 +79,7 @@ error[E0277]: the trait bound `Ret: serde::ser::Serialize` is not satisfied 38 | / async fn bad_endpoint( 39 | | _rqctx: RequestContext<()>, 40 | | ) -> Result, HttpError> { - | |_______________________________________________^ the trait `serde::ser::Serialize` is not implemented for `Ret`, which is required by `Ret: dropshot::handler::HttpResponseContent` + | |_______________________________________________^ the trait `serde::ser::Serialize` is not implemented for `Ret` | = note: for local types consider adding `#[derive(serde::Serialize)]` to your `Ret` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -104,7 +104,7 @@ error[E0277]: the trait bound `Ret: dropshot::handler::HttpResponseContent` is n --> tests/fail/bad_trait_endpoint7.rs:28:10 | 28 | ) -> Result, HttpError>; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `Ret`, which is required by `Ret: dropshot::handler::HttpResponseContent` + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `Ret` | = help: the following other types implement trait `serde::ser::Serialize`: &'a T @@ -127,7 +127,7 @@ error[E0277]: the trait bound `Ret: serde::ser::Serialize` is not satisfied --> tests/fail/bad_trait_endpoint7.rs:28:10 | 28 | ) -> Result, HttpError>; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `Ret`, which is required by `Ret: dropshot::handler::HttpResponseContent` + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `Ret` | = note: for local types consider adding `#[derive(serde::Serialize)]` to your `Ret` type = note: for types from other crates check whether the crate offers a `serde` feature flag @@ -159,8 +159,9 @@ error[E0277]: the trait bound `fn(RequestContext<::Context> 24 | | path = "/test", 25 | | }] 26 | | async fn bad_endpoint( - | |_________________________^ the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<::Context>) -> impl Future, dropshot::HttpError>> + Send + 'static {::bad_endpoint}` + | |_________________________^ unsatisfied trait bound | + = help: the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for fn item `fn(RequestContext<::Context>) -> impl Future, dropshot::HttpError>> + Send + 'static {::bad_endpoint}` note: required by a bound in `ApiEndpoint::::new` --> src/api_description.rs | diff --git a/rust-toolchain.toml b/rust-toolchain.toml index c69834585..4c76c45d4 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -4,5 +4,5 @@ # The intent is to keep this updated as new stable versions are relased. [toolchain] -channel = "1.83.0" +channel = "1.84.0" profile = "default"