error[E0277]: the trait bound `NotSerializable: serde::Serialize` is not satisfied
  --> tests/ui/persisted_method_requires_serde.rs:15:25
   |
12 | #[entity_impl]
   | -------------- required by a bound introduced by this call
...
15 |     async fn bad(&self, value: NotSerializable) -> Result<(), ClusterError> {
   |                         ^^^^^ unsatisfied trait bound
   |
help: the trait `serde_core::ser::Serialize` is not implemented for `NotSerializable`
  --> tests/ui/persisted_method_requires_serde.rs:4:1
   |
 4 | struct NotSerializable {
   | ^^^^^^^^^^^^^^^^^^^^^^
   = note: for local types consider adding `#[derive(serde::Serialize)]` to your `NotSerializable` type
   = note: for types from other crates check whether the crate offers a `serde` feature flag
   = help: the following other types implement trait `serde_core::ser::Serialize`:
             &'a T
             &'a mut T
             ()
             (T,)
             (T0, T1)
             (T0, T1, T2)
             (T0, T1, T2, T3)
             (T0, T1, T2, T3, T4)
           and $N others
note: required by a bound in `EntityClient::send_persisted`
  --> src/entity_client.rs
   |
   |     pub async fn send_persisted<Req, Res>(
   |                  -------------- required by a bound in this associated function
...
   |         Req: Serialize,
   |              ^^^^^^^^^ required by this bound in `EntityClient::send_persisted`

error[E0277]: the trait bound `NotSerializable: serde::Serialize` is not satisfied
  --> tests/ui/persisted_method_requires_serde.rs:12:1
   |
12 | #[entity_impl]
   | ^^^^^^^^^^^^^^ unsatisfied trait bound
   |
help: the trait `serde_core::ser::Serialize` is not implemented for `NotSerializable`
  --> tests/ui/persisted_method_requires_serde.rs:4:1
   |
 4 | struct NotSerializable {
   | ^^^^^^^^^^^^^^^^^^^^^^
   = note: for local types consider adding `#[derive(serde::Serialize)]` to your `NotSerializable` type
   = note: for types from other crates check whether the crate offers a `serde` feature flag
   = help: the following other types implement trait `serde_core::ser::Serialize`:
             &'a T
             &'a mut T
             ()
             (T,)
             (T0, T1)
             (T0, T1, T2)
             (T0, T1, T2, T3)
             (T0, T1, T2, T3, T4)
           and $N others
note: required by a bound in `EntityClient::send_persisted`
  --> src/entity_client.rs
   |
   |     pub async fn send_persisted<Req, Res>(
   |                  -------------- required by a bound in this associated function
...
   |         Req: Serialize,
   |              ^^^^^^^^^ required by this bound in `EntityClient::send_persisted`
   = note: this error originates in the attribute macro `entity_impl` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `NotSerializable: serde::Deserialize<'de>` is not satisfied
  --> tests/ui/persisted_method_requires_serde.rs:12:1
   |
12 | #[entity_impl]
   | ^^^^^^^^^^^^^^ unsatisfied trait bound
   |
help: the trait `serde_core::de::Deserialize<'_>` is not implemented for `NotSerializable`
  --> tests/ui/persisted_method_requires_serde.rs:4:1
   |
 4 | struct NotSerializable {
   | ^^^^^^^^^^^^^^^^^^^^^^
   = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `NotSerializable` type
   = note: for types from other crates check whether the crate offers a `serde` feature flag
   = help: the following other types implement trait `serde_core::de::Deserialize<'de>`:
             &'a Path
             &'a [u8]
             &'a serde_json::raw::RawValue
             &'a str
             ()
             (T,)
             (T0, T1)
             (T0, T1, T2)
           and $N others
note: required by a bound in `from_slice`
  --> $CARGO/rmp-serde-$VERSION/src/decode.rs
   |
   | pub fn from_slice<'a, T>(input: &'a [u8]) -> Result<T, Error>
   |        ---------- required by a bound in this function
   | where
   |     T: Deserialize<'a>,
   |        ^^^^^^^^^^^^^^^ required by this bound in `from_slice`
   = note: this error originates in the attribute macro `entity_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
