Skip to content

Refactor parts of Plane into a plane-common crate (DIS-2967) #2250

Refactor parts of Plane into a plane-common crate (DIS-2967)

Refactor parts of Plane into a plane-common crate (DIS-2967) #2250

GitHub Actions / clippy failed Nov 25, 2024 in 7s

clippy

449 errors, 15 warnings

Details

Results

Message level Amount
Internal compiler error 0
Error 449
Warning 15
Note 0
Help 0

Versions

  • rustc 1.82.0 (f6e511eec 2024-10-15)
  • cargo 1.82.0 (8f40fc59f 2024-08-21)
  • clippy 0.1.82 (f6e511e 2024-10-15)

Annotations

Check failure on line 242 in plane/src/proxy/cert_manager.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the method `clone` exists for struct `Ref<'_, Option<CertificatePair>>`, but its trait bounds were not satisfied

error[E0599]: the method `clone` exists for struct `Ref<'_, Option<CertificatePair>>`, but its trait bounds were not satisfied
   --> plane/src/proxy/cert_manager.rs:242:48
    |
242 |     let last_current_cert = send_cert.borrow().clone();
    |                                                ^^^^^ method cannot be called on `Ref<'_, Option<CertificatePair>>` due to unsatisfied trait bounds
    |
   ::: plane/src/proxy/cert_pair.rs:42:1
    |
42  | pub struct CertificatePair {
    | -------------------------- doesn't satisfy `_: Sized`
    |
    = note: the following trait bounds were not satisfied:
            `proxy::cert_pair::CertificatePair: std::marker::Sized`
            which is required by `std::option::Option<proxy::cert_pair::CertificatePair>: std::clone::Clone`
note: the trait `std::marker::Sized` must be implemented
   --> /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/marker.rs:146:1

Check failure on line 242 in plane/src/proxy/cert_manager.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the method `clone` exists for struct `Ref<'_, Option<CertificatePair>>`, but its trait bounds were not satisfied

error[E0599]: the method `clone` exists for struct `Ref<'_, Option<CertificatePair>>`, but its trait bounds were not satisfied
   --> plane/src/proxy/cert_manager.rs:242:48
    |
242 |     let last_current_cert = send_cert.borrow().clone();
    |                                                ^^^^^ method cannot be called on `Ref<'_, Option<CertificatePair>>` due to unsatisfied trait bounds
    |
   ::: plane/src/proxy/cert_pair.rs:42:1
    |
42  | pub struct CertificatePair {
    | -------------------------- doesn't satisfy `_: Sized`
    |
    = note: the following trait bounds were not satisfied:
            `proxy::cert_pair::CertificatePair: std::marker::Sized`
            which is required by `std::option::Option<proxy::cert_pair::CertificatePair>: std::clone::Clone`
note: the trait `std::marker::Sized` must be implemented
   --> /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/marker.rs:146:1

Check failure on line 92 in plane/src/drone/key_manager.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

type annotations needed

error[E0282]: type annotations needed
  --> plane/src/drone/key_manager.rs:92:42
   |
92 |                 if let Err(err) = sender.send(request) {
   |                                          ^^^^ cannot infer type for type parameter `T` declared on the enum `Option`

Check failure on line 92 in plane/src/drone/key_manager.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

type annotations needed

error[E0282]: type annotations needed
  --> plane/src/drone/key_manager.rs:92:42
   |
92 |                 if let Err(err) = sender.send(request) {
   |                                          ^^^^ cannot infer type for type parameter `T` declared on the enum `Option`

Check failure on line 115 in plane/src/dns/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

type annotations needed

error[E0282]: type annotations needed
   --> plane/src/dns/mod.rs:115:29
    |
115 |                 entry.get().subscribe()
    |                             ^^^^^^^^^ cannot infer type for type parameter `V` declared on the enum `Entry`

Check failure on line 115 in plane/src/dns/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

type annotations needed

error[E0282]: type annotations needed
   --> plane/src/dns/mod.rs:115:29
    |
115 |                 entry.get().subscribe()
    |                             ^^^^^^^^^ cannot infer type for type parameter `V` declared on the enum `Entry`

Check failure on line 306 in plane/src/controller/proxy.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

no method named `or_status` found for enum `std::option::Option` in the current scope

error[E0599]: no method named `or_status` found for enum `std::option::Option` in the current scope
   --> plane/src/controller/proxy.rs:306:53
    |
306 |     let cluster: ClusterName = cluster.parse().ok().or_status(
    |                                ---------------------^^^^^^^^^ method not found in `Option<_>`
    |
   ::: plane/src/controller/error.rs:56:8
    |
56  |     fn or_status(
    |        --------- the method is available for `std::option::Option<_>` here
    |
    = help: items from traits can only be used if the trait is in scope
help: trait `IntoApiError` which provides `or_status` is implemented but not in scope; perhaps you want to import it
    |
1   + use crate::controller::error::IntoApiError;
    |

Check failure on line 306 in plane/src/controller/proxy.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

no method named `or_status` found for enum `std::option::Option` in the current scope

error[E0599]: no method named `or_status` found for enum `std::option::Option` in the current scope
   --> plane/src/controller/proxy.rs:306:53
    |
306 |     let cluster: ClusterName = cluster.parse().ok().or_status(
    |                                ---------------------^^^^^^^^^ method not found in `Option<_>`
    |
   ::: plane/src/controller/error.rs:56:8
    |
56  |     fn or_status(
    |        --------- the method is available for `std::option::Option<_>` here
    |
    = help: items from traits can only be used if the trait is in scope
help: trait `IntoApiError` which provides `or_status` is implemented but not in scope; perhaps you want to import it
    |
1   + use crate::controller::error::IntoApiError;
    |

Check failure on line 255 in plane/src/controller/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the trait bound `fn(axum::extract::Path<{type error}>, axum::extract::State<controller::core::Controller>, hyper::HeaderMap) -> impl futures_util::Future<Output = std::result::Result<axum::response::Sse<impl futures_util::Stream<Item = std::result::Result<axum::response::sse::Event, std::convert::Infallible>>>, hyper::Response<axum::body::Body>>> {controller::backend_state::handle_backend_status_stream}: axum::handler::Handler<_, _>` is not satisfied

error[E0277]: the trait bound `fn(axum::extract::Path<{type error}>, axum::extract::State<controller::core::Controller>, hyper::HeaderMap) -> impl futures_util::Future<Output = std::result::Result<axum::response::Sse<impl futures_util::Stream<Item = std::result::Result<axum::response::sse::Event, std::convert::Infallible>>>, hyper::Response<axum::body::Body>>> {controller::backend_state::handle_backend_status_stream}: axum::handler::Handler<_, _>` is not satisfied
   --> plane/src/controller/mod.rs:255:21
    |
255 |                 get(handle_backend_status_stream),
    |                 --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `axum::handler::Handler<_, _>` is not implemented for fn item `fn(Path<{type error}>, State<Controller>, HeaderMap) -> ... {handle_backend_status_stream}`
    |                 |
    |                 required by a bound introduced by this call
    |
    = note: the full name for the type has been written to '/home/runner/work/plane/plane/target/debug/deps/plane-ece090f5434a41f3.long-type-8769091953639215932.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: Consider using `#[axum::debug_handler]` to improve the error message
    = help: the following other types implement trait `axum::handler::Handler<T, S>`:
              `axum::handler::Layered<L, H, T, S>` implements `axum::handler::Handler<T, S>`
              `axum::routing::MethodRouter<S>` implements `axum::handler::Handler<(), S>`
note: required by a bound in `axum::routing::get`
   --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/routing/method_routing.rs:439:1
    |
439 | top_level_handler_fn!(get, GET);
    | ^^^^^^^^^^^^^^^^^^^^^^---^^^^^^
    | |                     |
    | |                     required by a bound in this function
    | required by this bound in `get`
    = note: this error originates in the macro `top_level_handler_fn` (in Nightly builds, run with -Z macro-backtrace for more info)

Check failure on line 252 in plane/src/controller/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the trait bound `fn(axum::extract::Path<{type error}>, axum::extract::State<controller::core::Controller>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<{type error}>, hyper::Response<axum::body::Body>>> {controller::backend_state::handle_backend_status}: axum::handler::Handler<_, _>` is not satisfied

error[E0277]: the trait bound `fn(axum::extract::Path<{type error}>, axum::extract::State<controller::core::Controller>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<{type error}>, hyper::Response<axum::body::Body>>> {controller::backend_state::handle_backend_status}: axum::handler::Handler<_, _>` is not satisfied
   --> plane/src/controller/mod.rs:252:46
    |
252 |             .route("/b/:backend/status", get(handle_backend_status))
    |                                          --- ^^^^^^^^^^^^^^^^^^^^^ the trait `axum::handler::Handler<_, _>` is not implemented for fn item `fn(Path<{type error}>, State<Controller>) -> impl Future<Output = Result<..., ...>> {handle_backend_status}`
    |                                          |
    |                                          required by a bound introduced by this call
    |
    = note: the full name for the type has been written to '/home/runner/work/plane/plane/target/debug/deps/plane-ece090f5434a41f3.long-type-24866199444219135.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: Consider using `#[axum::debug_handler]` to improve the error message
    = help: the following other types implement trait `axum::handler::Handler<T, S>`:
              `axum::handler::Layered<L, H, T, S>` implements `axum::handler::Handler<T, S>`
              `axum::routing::MethodRouter<S>` implements `axum::handler::Handler<(), S>`
note: required by a bound in `axum::routing::get`
   --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/routing/method_routing.rs:439:1
    |
439 | top_level_handler_fn!(get, GET);
    | ^^^^^^^^^^^^^^^^^^^^^^---^^^^^^
    | |                     |
    | |                     required by a bound in this function
    | required by this bound in `get`
    = note: this error originates in the macro `top_level_handler_fn` (in Nightly builds, run with -Z macro-backtrace for more info)

Check failure on line 230 in plane/src/controller/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the trait bound `fn(axum::extract::State<controller::core::Controller>, axum::Json<{type error}>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<&'static str>, hyper::Response<axum::body::Body>>> {controller::connect::handle_revoke}: axum::handler::Handler<_, _>` is not satisfied

error[E0277]: the trait bound `fn(axum::extract::State<controller::core::Controller>, axum::Json<{type error}>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<&'static str>, hyper::Response<axum::body::Body>>> {controller::connect::handle_revoke}: axum::handler::Handler<_, _>` is not satisfied
   --> plane/src/controller/mod.rs:230:22
    |
230 |                 post(handle_revoke), // (TODO) does not notify proxies, see handler function for details
    |                 ---- ^^^^^^^^^^^^^ the trait `axum::handler::Handler<_, _>` is not implemented for fn item `fn(State<Controller>, Json<{type error}>) -> impl Future<Output = Result<Json<&str>, ...>> {handle_revoke}`
    |                 |
    |                 required by a bound introduced by this call
    |
    = note: the full name for the type has been written to '/home/runner/work/plane/plane/target/debug/deps/plane-ece090f5434a41f3.long-type-6375548651516452258.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: Consider using `#[axum::debug_handler]` to improve the error message
    = help: the following other types implement trait `axum::handler::Handler<T, S>`:
              `axum::handler::Layered<L, H, T, S>` implements `axum::handler::Handler<T, S>`
              `axum::routing::MethodRouter<S>` implements `axum::handler::Handler<(), S>`
note: required by a bound in `axum::routing::post`
   --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/routing/method_routing.rs:443:1
    |
443 | top_level_handler_fn!(post, POST);
    | ^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^
    | |                     |
    | |                     required by a bound in this function
    | required by this bound in `post`
    = note: this error originates in the macro `top_level_handler_fn` (in Nightly builds, run with -Z macro-backtrace for more info)

Check failure on line 226 in plane/src/controller/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the trait bound `fn(axum::extract::Path<{type error}>, axum::extract::State<controller::core::Controller>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<()>, hyper::Response<axum::body::Body>>> {controller::terminate::handle_hard_terminate}: axum::handler::Handler<_, _>` is not satisfied

error[E0277]: the trait bound `fn(axum::extract::Path<{type error}>, axum::extract::State<controller::core::Controller>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<()>, hyper::Response<axum::body::Body>>> {controller::terminate::handle_hard_terminate}: axum::handler::Handler<_, _>` is not satisfied
   --> plane/src/controller/mod.rs:226:22
    |
226 |                 post(terminate::handle_hard_terminate),
    |                 ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `axum::handler::Handler<_, _>` is not implemented for fn item `fn(Path<{type error}>, State<Controller>) -> impl Future<Output = Result<..., ...>> {handle_hard_terminate}`
    |                 |
    |                 required by a bound introduced by this call
    |
    = note: the full name for the type has been written to '/home/runner/work/plane/plane/target/debug/deps/plane-ece090f5434a41f3.long-type-9267315080035677696.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: Consider using `#[axum::debug_handler]` to improve the error message
    = help: the following other types implement trait `axum::handler::Handler<T, S>`:
              `axum::handler::Layered<L, H, T, S>` implements `axum::handler::Handler<T, S>`
              `axum::routing::MethodRouter<S>` implements `axum::handler::Handler<(), S>`
note: required by a bound in `axum::routing::post`
   --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/routing/method_routing.rs:443:1
    |
443 | top_level_handler_fn!(post, POST);
    | ^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^
    | |                     |
    | |                     required by a bound in this function
    | required by this bound in `post`
    = note: this error originates in the macro `top_level_handler_fn` (in Nightly builds, run with -Z macro-backtrace for more info)

Check failure on line 222 in plane/src/controller/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the trait bound `fn(axum::extract::Path<{type error}>, axum::extract::State<controller::core::Controller>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<()>, hyper::Response<axum::body::Body>>> {controller::terminate::handle_soft_terminate}: axum::handler::Handler<_, _>` is not satisfied

error[E0277]: the trait bound `fn(axum::extract::Path<{type error}>, axum::extract::State<controller::core::Controller>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<()>, hyper::Response<axum::body::Body>>> {controller::terminate::handle_soft_terminate}: axum::handler::Handler<_, _>` is not satisfied
   --> plane/src/controller/mod.rs:222:22
    |
222 |                 post(terminate::handle_soft_terminate),
    |                 ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `axum::handler::Handler<_, _>` is not implemented for fn item `fn(Path<{type error}>, State<Controller>) -> impl Future<Output = Result<..., ...>> {handle_soft_terminate}`
    |                 |
    |                 required by a bound introduced by this call
    |
    = note: the full name for the type has been written to '/home/runner/work/plane/plane/target/debug/deps/plane-ece090f5434a41f3.long-type-7249337406753571881.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: Consider using `#[axum::debug_handler]` to improve the error message
    = help: the following other types implement trait `axum::handler::Handler<T, S>`:
              `axum::handler::Layered<L, H, T, S>` implements `axum::handler::Handler<T, S>`
              `axum::routing::MethodRouter<S>` implements `axum::handler::Handler<(), S>`
note: required by a bound in `axum::routing::post`
   --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/routing/method_routing.rs:443:1
    |
443 | top_level_handler_fn!(post, POST);
    | ^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^
    | |                     |
    | |                     required by a bound in this function
    | required by this bound in `post`
    = note: this error originates in the macro `top_level_handler_fn` (in Nightly builds, run with -Z macro-backtrace for more info)

Check failure on line 255 in plane/src/controller/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the trait bound `fn(axum::extract::Path<{type error}>, axum::extract::State<controller::core::Controller>, hyper::HeaderMap) -> impl futures_util::Future<Output = std::result::Result<axum::response::Sse<impl futures_util::Stream<Item = std::result::Result<axum::response::sse::Event, std::convert::Infallible>>>, hyper::Response<axum::body::Body>>> {controller::backend_state::handle_backend_status_stream}: axum::handler::Handler<_, _>` is not satisfied

error[E0277]: the trait bound `fn(axum::extract::Path<{type error}>, axum::extract::State<controller::core::Controller>, hyper::HeaderMap) -> impl futures_util::Future<Output = std::result::Result<axum::response::Sse<impl futures_util::Stream<Item = std::result::Result<axum::response::sse::Event, std::convert::Infallible>>>, hyper::Response<axum::body::Body>>> {controller::backend_state::handle_backend_status_stream}: axum::handler::Handler<_, _>` is not satisfied
   --> plane/src/controller/mod.rs:255:21
    |
255 |                 get(handle_backend_status_stream),
    |                 --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `axum::handler::Handler<_, _>` is not implemented for fn item `fn(Path<{type error}>, State<Controller>, HeaderMap) -> ... {handle_backend_status_stream}`
    |                 |
    |                 required by a bound introduced by this call
    |
    = note: the full name for the type has been written to '/home/runner/work/plane/plane/target/debug/deps/plane-9f2faf8e79d3e695.long-type-7991277555615855686.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: Consider using `#[axum::debug_handler]` to improve the error message
    = help: the following other types implement trait `axum::handler::Handler<T, S>`:
              `axum::handler::Layered<L, H, T, S>` implements `axum::handler::Handler<T, S>`
              `axum::routing::MethodRouter<S>` implements `axum::handler::Handler<(), S>`
note: required by a bound in `axum::routing::get`
   --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/routing/method_routing.rs:439:1
    |
439 | top_level_handler_fn!(get, GET);
    | ^^^^^^^^^^^^^^^^^^^^^^---^^^^^^
    | |                     |
    | |                     required by a bound in this function
    | required by this bound in `get`
    = note: this error originates in the macro `top_level_handler_fn` (in Nightly builds, run with -Z macro-backtrace for more info)

Check failure on line 219 in plane/src/controller/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the trait bound `fn(axum::extract::Path<({type error}, {type error})>, axum::extract::State<controller::core::Controller>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<{type error}>, hyper::Response<axum::body::Body>>> {controller::drain::handle_drain}: axum::handler::Handler<_, _>` is not satisfied

error[E0277]: the trait bound `fn(axum::extract::Path<({type error}, {type error})>, axum::extract::State<controller::core::Controller>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<{type error}>, hyper::Response<axum::body::Body>>> {controller::drain::handle_drain}: axum::handler::Handler<_, _>` is not satisfied
   --> plane/src/controller/mod.rs:219:55
    |
219 |             .route("/c/:cluster/d/:drone/drain", post(handle_drain))
    |                                                  ---- ^^^^^^^^^^^^ the trait `axum::handler::Handler<_, _>` is not implemented for fn item `fn(Path<({type error}, {type error})>, State<Controller>) -> impl Future<Output = ...> {handle_drain}`
    |                                                  |
    |                                                  required by a bound introduced by this call
    |
    = note: the full name for the type has been written to '/home/runner/work/plane/plane/target/debug/deps/plane-ece090f5434a41f3.long-type-7871119876940046159.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: Consider using `#[axum::debug_handler]` to improve the error message
    = help: the following other types implement trait `axum::handler::Handler<T, S>`:
              `axum::handler::Layered<L, H, T, S>` implements `axum::handler::Handler<T, S>`
              `axum::routing::MethodRouter<S>` implements `axum::handler::Handler<(), S>`
note: required by a bound in `axum::routing::post`
   --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/routing/method_routing.rs:443:1
    |
443 | top_level_handler_fn!(post, POST);
    | ^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^
    | |                     |
    | |                     required by a bound in this function
    | required by this bound in `post`
    = note: this error originates in the macro `top_level_handler_fn` (in Nightly builds, run with -Z macro-backtrace for more info)

Check failure on line 218 in plane/src/controller/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the trait bound `fn(axum::extract::State<controller::core::Controller>, axum::Json<{type error}>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<{type error}>, hyper::Response<axum::body::Body>>> {controller::connect::handle_connect}: axum::handler::Handler<_, _>` is not satisfied

error[E0277]: the trait bound `fn(axum::extract::State<controller::core::Controller>, axum::Json<{type error}>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<{type error}>, hyper::Response<axum::body::Body>>> {controller::connect::handle_connect}: axum::handler::Handler<_, _>` is not satisfied
   --> plane/src/controller/mod.rs:218:37
    |
218 |             .route("/connect", post(handle_connect))
    |                                ---- ^^^^^^^^^^^^^^ the trait `axum::handler::Handler<_, _>` is not implemented for fn item `fn(State<Controller>, Json<{type error}>) -> impl Future<Output = Result<Json<...>, ...>> {handle_connect}`
    |                                |
    |                                required by a bound introduced by this call
    |
    = note: the full name for the type has been written to '/home/runner/work/plane/plane/target/debug/deps/plane-ece090f5434a41f3.long-type-14045359788078263808.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: Consider using `#[axum::debug_handler]` to improve the error message
    = help: the following other types implement trait `axum::handler::Handler<T, S>`:
              `axum::handler::Layered<L, H, T, S>` implements `axum::handler::Handler<T, S>`
              `axum::routing::MethodRouter<S>` implements `axum::handler::Handler<(), S>`
note: required by a bound in `axum::routing::post`
   --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/routing/method_routing.rs:443:1
    |
443 | top_level_handler_fn!(post, POST);
    | ^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^
    | |                     |
    | |                     required by a bound in this function
    | required by this bound in `post`
    = note: this error originates in the macro `top_level_handler_fn` (in Nightly builds, run with -Z macro-backtrace for more info)

Check failure on line 252 in plane/src/controller/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the trait bound `fn(axum::extract::Path<{type error}>, axum::extract::State<controller::core::Controller>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<{type error}>, hyper::Response<axum::body::Body>>> {controller::backend_state::handle_backend_status}: axum::handler::Handler<_, _>` is not satisfied

error[E0277]: the trait bound `fn(axum::extract::Path<{type error}>, axum::extract::State<controller::core::Controller>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<{type error}>, hyper::Response<axum::body::Body>>> {controller::backend_state::handle_backend_status}: axum::handler::Handler<_, _>` is not satisfied
   --> plane/src/controller/mod.rs:252:46
    |
252 |             .route("/b/:backend/status", get(handle_backend_status))
    |                                          --- ^^^^^^^^^^^^^^^^^^^^^ the trait `axum::handler::Handler<_, _>` is not implemented for fn item `fn(Path<{type error}>, State<Controller>) -> impl Future<Output = Result<..., ...>> {handle_backend_status}`
    |                                          |
    |                                          required by a bound introduced by this call
    |
    = note: the full name for the type has been written to '/home/runner/work/plane/plane/target/debug/deps/plane-9f2faf8e79d3e695.long-type-11808465840343294392.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: Consider using `#[axum::debug_handler]` to improve the error message
    = help: the following other types implement trait `axum::handler::Handler<T, S>`:
              `axum::handler::Layered<L, H, T, S>` implements `axum::handler::Handler<T, S>`
              `axum::routing::MethodRouter<S>` implements `axum::handler::Handler<(), S>`
note: required by a bound in `axum::routing::get`
   --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/routing/method_routing.rs:439:1
    |
439 | top_level_handler_fn!(get, GET);
    | ^^^^^^^^^^^^^^^^^^^^^^---^^^^^^
    | |                     |
    | |                     required by a bound in this function
    | required by this bound in `get`
    = note: this error originates in the macro `top_level_handler_fn` (in Nightly builds, run with -Z macro-backtrace for more info)

Check failure on line 216 in plane/src/controller/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the trait bound `fn(axum::extract::Path<std::string::String>, axum::extract::State<{type error}>, axum::extract::ConnectInfo<std::net::SocketAddr>, axum::extract::WebSocketUpgrade) -> impl futures_util::Future<Output = std::result::Result<impl axum::response::IntoResponse, hyper::Response<axum::body::Body>>> {controller::proxy::handle_proxy_socket}: axum::handler::Handler<_, _>` is not satisfied

error[E0277]: the trait bound `fn(axum::extract::Path<std::string::String>, axum::extract::State<{type error}>, axum::extract::ConnectInfo<std::net::SocketAddr>, axum::extract::WebSocketUpgrade) -> impl futures_util::Future<Output = std::result::Result<impl axum::response::IntoResponse, hyper::Response<axum::body::Body>>> {controller::proxy::handle_proxy_socket}: axum::handler::Handler<_, _>` is not satisfied
   --> plane/src/controller/mod.rs:216:52
    |
216 |             .route("/c/:cluster/proxy-socket", get(handle_proxy_socket))
    |                                                --- ^^^^^^^^^^^^^^^^^^^ the trait `axum::handler::Handler<_, _>` is not implemented for fn item `fn(Path<String>, State<{type error}>, ConnectInfo<SocketAddr>, WebSocketUpgrade) -> ... {handle_proxy_socket}`
    |                                                |
    |                                                required by a bound introduced by this call
    |
    = note: the full name for the type has been written to '/home/runner/work/plane/plane/target/debug/deps/plane-ece090f5434a41f3.long-type-1053930141353974911.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: Consider using `#[axum::debug_handler]` to improve the error message
    = help: the following other types implement trait `axum::handler::Handler<T, S>`:
              `axum::handler::Layered<L, H, T, S>` implements `axum::handler::Handler<T, S>`
              `axum::routing::MethodRouter<S>` implements `axum::handler::Handler<(), S>`
note: required by a bound in `axum::routing::get`
   --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/routing/method_routing.rs:439:1
    |
439 | top_level_handler_fn!(get, GET);
    | ^^^^^^^^^^^^^^^^^^^^^^---^^^^^^
    | |                     |
    | |                     required by a bound in this function
    | required by this bound in `get`
    = note: this error originates in the macro `top_level_handler_fn` (in Nightly builds, run with -Z macro-backtrace for more info)

Check failure on line 214 in plane/src/controller/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the trait bound `fn(axum::extract::Path<{type error}>, axum::extract::State<controller::core::Controller>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<{type error}>, hyper::Response<axum::body::Body>>> {controller::cluster_state::handle_cluster_state}: axum::handler::Handler<_, _>` is not satisfied

error[E0277]: the trait bound `fn(axum::extract::Path<{type error}>, axum::extract::State<controller::core::Controller>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<{type error}>, hyper::Response<axum::body::Body>>> {controller::cluster_state::handle_cluster_state}: axum::handler::Handler<_, _>` is not satisfied
   --> plane/src/controller/mod.rs:214:45
    |
214 |             .route("/c/:cluster/state", get(handle_cluster_state))
    |                                         --- ^^^^^^^^^^^^^^^^^^^^ the trait `axum::handler::Handler<_, _>` is not implemented for fn item `fn(Path<{type error}>, State<Controller>) -> impl Future<Output = Result<..., ...>> {handle_cluster_state}`
    |                                         |
    |                                         required by a bound introduced by this call
    |
    = note: the full name for the type has been written to '/home/runner/work/plane/plane/target/debug/deps/plane-ece090f5434a41f3.long-type-13405820602442635445.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: Consider using `#[axum::debug_handler]` to improve the error message
    = help: the following other types implement trait `axum::handler::Handler<T, S>`:
              `axum::handler::Layered<L, H, T, S>` implements `axum::handler::Handler<T, S>`
              `axum::routing::MethodRouter<S>` implements `axum::handler::Handler<(), S>`
note: required by a bound in `axum::routing::get`
   --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/routing/method_routing.rs:439:1
    |
439 | top_level_handler_fn!(get, GET);
    | ^^^^^^^^^^^^^^^^^^^^^^---^^^^^^
    | |                     |
    | |                     required by a bound in this function
    | required by this bound in `get`
    = note: this error originates in the macro `top_level_handler_fn` (in Nightly builds, run with -Z macro-backtrace for more info)

Check failure on line 213 in plane/src/controller/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the trait bound `fn(axum::extract::State<controller::core::Controller>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<{type error}>, hyper::Response<axum::body::Body>>> {controller::status}: axum::handler::Handler<_, _>` is not satisfied

error[E0277]: the trait bound `fn(axum::extract::State<controller::core::Controller>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<{type error}>, hyper::Response<axum::body::Body>>> {controller::status}: axum::handler::Handler<_, _>` is not satisfied
   --> plane/src/controller/mod.rs:213:35
    |
213 |             .route("/status", get(status))
    |                               --- ^^^^^^ the trait `axum::handler::Handler<_, _>` is not implemented for fn item `fn(State<Controller>) -> impl Future<Output = Result<Json<{type error}>, Response<Body>>> {status}`
    |                               |
    |                               required by a bound introduced by this call
    |
    = note: the full name for the type has been written to '/home/runner/work/plane/plane/target/debug/deps/plane-ece090f5434a41f3.long-type-8870827979367786221.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: Consider using `#[axum::debug_handler]` to improve the error message
    = help: the following other types implement trait `axum::handler::Handler<T, S>`:
              `axum::handler::Layered<L, H, T, S>` implements `axum::handler::Handler<T, S>`
              `axum::routing::MethodRouter<S>` implements `axum::handler::Handler<(), S>`
note: required by a bound in `axum::routing::get`
   --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/routing/method_routing.rs:439:1
    |
439 | top_level_handler_fn!(get, GET);
    | ^^^^^^^^^^^^^^^^^^^^^^---^^^^^^
    | |                     |
    | |                     required by a bound in this function
    | required by this bound in `get`
    = note: this error originates in the macro `top_level_handler_fn` (in Nightly builds, run with -Z macro-backtrace for more info)

Check failure on line 230 in plane/src/controller/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the trait bound `fn(axum::extract::State<controller::core::Controller>, axum::Json<{type error}>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<&'static str>, hyper::Response<axum::body::Body>>> {controller::connect::handle_revoke}: axum::handler::Handler<_, _>` is not satisfied

error[E0277]: the trait bound `fn(axum::extract::State<controller::core::Controller>, axum::Json<{type error}>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<&'static str>, hyper::Response<axum::body::Body>>> {controller::connect::handle_revoke}: axum::handler::Handler<_, _>` is not satisfied
   --> plane/src/controller/mod.rs:230:22
    |
230 |                 post(handle_revoke), // (TODO) does not notify proxies, see handler function for details
    |                 ---- ^^^^^^^^^^^^^ the trait `axum::handler::Handler<_, _>` is not implemented for fn item `fn(State<Controller>, Json<{type error}>) -> impl Future<Output = Result<Json<&str>, ...>> {handle_revoke}`
    |                 |
    |                 required by a bound introduced by this call
    |
    = note: the full name for the type has been written to '/home/runner/work/plane/plane/target/debug/deps/plane-9f2faf8e79d3e695.long-type-16075308854222434700.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: Consider using `#[axum::debug_handler]` to improve the error message
    = help: the following other types implement trait `axum::handler::Handler<T, S>`:
              `axum::handler::Layered<L, H, T, S>` implements `axum::handler::Handler<T, S>`
              `axum::routing::MethodRouter<S>` implements `axum::handler::Handler<(), S>`
note: required by a bound in `axum::routing::post`
   --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/routing/method_routing.rs:443:1
    |
443 | top_level_handler_fn!(post, POST);
    | ^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^
    | |                     |
    | |                     required by a bound in this function
    | required by this bound in `post`
    = note: this error originates in the macro `top_level_handler_fn` (in Nightly builds, run with -Z macro-backtrace for more info)

Check failure on line 226 in plane/src/controller/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the trait bound `fn(axum::extract::Path<{type error}>, axum::extract::State<controller::core::Controller>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<()>, hyper::Response<axum::body::Body>>> {controller::terminate::handle_hard_terminate}: axum::handler::Handler<_, _>` is not satisfied

error[E0277]: the trait bound `fn(axum::extract::Path<{type error}>, axum::extract::State<controller::core::Controller>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<()>, hyper::Response<axum::body::Body>>> {controller::terminate::handle_hard_terminate}: axum::handler::Handler<_, _>` is not satisfied
   --> plane/src/controller/mod.rs:226:22
    |
226 |                 post(terminate::handle_hard_terminate),
    |                 ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `axum::handler::Handler<_, _>` is not implemented for fn item `fn(Path<{type error}>, State<Controller>) -> impl Future<Output = Result<..., ...>> {handle_hard_terminate}`
    |                 |
    |                 required by a bound introduced by this call
    |
    = note: the full name for the type has been written to '/home/runner/work/plane/plane/target/debug/deps/plane-9f2faf8e79d3e695.long-type-16423948332840009985.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: Consider using `#[axum::debug_handler]` to improve the error message
    = help: the following other types implement trait `axum::handler::Handler<T, S>`:
              `axum::handler::Layered<L, H, T, S>` implements `axum::handler::Handler<T, S>`
              `axum::routing::MethodRouter<S>` implements `axum::handler::Handler<(), S>`
note: required by a bound in `axum::routing::post`
   --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/routing/method_routing.rs:443:1
    |
443 | top_level_handler_fn!(post, POST);
    | ^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^
    | |                     |
    | |                     required by a bound in this function
    | required by this bound in `post`
    = note: this error originates in the macro `top_level_handler_fn` (in Nightly builds, run with -Z macro-backtrace for more info)

Check failure on line 222 in plane/src/controller/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the trait bound `fn(axum::extract::Path<{type error}>, axum::extract::State<controller::core::Controller>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<()>, hyper::Response<axum::body::Body>>> {controller::terminate::handle_soft_terminate}: axum::handler::Handler<_, _>` is not satisfied

error[E0277]: the trait bound `fn(axum::extract::Path<{type error}>, axum::extract::State<controller::core::Controller>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<()>, hyper::Response<axum::body::Body>>> {controller::terminate::handle_soft_terminate}: axum::handler::Handler<_, _>` is not satisfied
   --> plane/src/controller/mod.rs:222:22
    |
222 |                 post(terminate::handle_soft_terminate),
    |                 ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `axum::handler::Handler<_, _>` is not implemented for fn item `fn(Path<{type error}>, State<Controller>) -> impl Future<Output = Result<..., ...>> {handle_soft_terminate}`
    |                 |
    |                 required by a bound introduced by this call
    |
    = note: the full name for the type has been written to '/home/runner/work/plane/plane/target/debug/deps/plane-9f2faf8e79d3e695.long-type-6861136088140925461.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: Consider using `#[axum::debug_handler]` to improve the error message
    = help: the following other types implement trait `axum::handler::Handler<T, S>`:
              `axum::handler::Layered<L, H, T, S>` implements `axum::handler::Handler<T, S>`
              `axum::routing::MethodRouter<S>` implements `axum::handler::Handler<(), S>`
note: required by a bound in `axum::routing::post`
   --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/routing/method_routing.rs:443:1
    |
443 | top_level_handler_fn!(post, POST);
    | ^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^
    | |                     |
    | |                     required by a bound in this function
    | required by this bound in `post`
    = note: this error originates in the macro `top_level_handler_fn` (in Nightly builds, run with -Z macro-backtrace for more info)

Check failure on line 99 in plane/src/controller/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the `?` operator can only be used on `Result`s in an async function that returns `Result`

error[E0277]: the `?` operator can only be used on `Result`s in an async function that returns `Result`
   --> plane/src/controller/mod.rs:99:62
    |
97  |       pub async fn start(db: PlaneDatabase, controller_id: ControllerName) -> Result<Self> {
    |  __________________________________________________________________________________________-
98  | |         // Wait until we have sent the initial heartbeat.
99  | |         db.controller().heartbeat(&controller_id, true).await?;
    | |                                                              ^ this `?` produces `_`, which is incompatible with `std::result::Result<controller::HeartbeatSender, anyhow::Error>`
...   |
120 | |         })
121 | |     }
    | |_____- this function returns a `Result`
    |
    = help: the trait `std::ops::FromResidual<_>` is not implemented for `std::result::Result<controller::HeartbeatSender, anyhow::Error>`
    = help: the trait `std::ops::FromResidual<std::result::Result<std::convert::Infallible, E>>` is implemented for `std::result::Result<T, F>`

Check failure on line 219 in plane/src/controller/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the trait bound `fn(axum::extract::Path<({type error}, {type error})>, axum::extract::State<controller::core::Controller>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<{type error}>, hyper::Response<axum::body::Body>>> {controller::drain::handle_drain}: axum::handler::Handler<_, _>` is not satisfied

error[E0277]: the trait bound `fn(axum::extract::Path<({type error}, {type error})>, axum::extract::State<controller::core::Controller>) -> impl futures_util::Future<Output = std::result::Result<axum::Json<{type error}>, hyper::Response<axum::body::Body>>> {controller::drain::handle_drain}: axum::handler::Handler<_, _>` is not satisfied
   --> plane/src/controller/mod.rs:219:55
    |
219 |             .route("/c/:cluster/d/:drone/drain", post(handle_drain))
    |                                                  ---- ^^^^^^^^^^^^ the trait `axum::handler::Handler<_, _>` is not implemented for fn item `fn(Path<({type error}, {type error})>, State<Controller>) -> impl Future<Output = ...> {handle_drain}`
    |                                                  |
    |                                                  required by a bound introduced by this call
    |
    = note: the full name for the type has been written to '/home/runner/work/plane/plane/target/debug/deps/plane-9f2faf8e79d3e695.long-type-12156627660185126285.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: Consider using `#[axum::debug_handler]` to improve the error message
    = help: the following other types implement trait `axum::handler::Handler<T, S>`:
              `axum::handler::Layered<L, H, T, S>` implements `axum::handler::Handler<T, S>`
              `axum::routing::MethodRouter<S>` implements `axum::handler::Handler<(), S>`
note: required by a bound in `axum::routing::post`
   --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/routing/method_routing.rs:443:1
    |
443 | top_level_handler_fn!(post, POST);
    | ^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^
    | |                     |
    | |                     required by a bound in this function
    | required by this bound in `post`
    = note: this error originates in the macro `top_level_handler_fn` (in Nightly builds, run with -Z macro-backtrace for more info)