ruststream 0.7.5

Async messaging framework for Rust: broker-agnostic traits, router, codecs, and a conformance harness for broker authors.
Documentation
error[E0277]: the headers of this publish do not match the message's `WithHeaders<DoneMeta>` contract
  --> tests/ui/publish_missing_headers.rs:33:10
   |
33 |         .publish()
   |          ^^^^^^^ the trait `SatisfiesContract<WithHeaders<DoneMeta>>` is not implemented for `HeadersUnset`
   |
   = note: a message declaring `#[outgoing(headers = Meta)]` is published as `.message(&value).with_headers(&meta)`; one declaring no contract takes no contract value (an arbitrary map still travels through `.with_headers(headers)`)
help: the trait `SatisfiesContract<WithHeaders<DoneMeta>>` is not implemented for `HeadersUnset`
      but trait `SatisfiesContract<NoHeaders>` is implemented for it
  --> src/runtime/publish/builder.rs
   |
   | impl SatisfiesContract<NoHeaders> for HeadersUnset {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = help: for that trait implementation, expected `NoHeaders`, found `WithHeaders<DoneMeta>`
note: required by a bound in `PublishBuilder::<Sink, MessageBody<'_, T>, Enc, Hdrs, Dest>::publish`
  --> src/runtime/publish/builder.rs
   |
   |     pub async fn publish(self) -> Result<(), PublishError<Sink::Error>>
   |                  ------- required by a bound in this associated function
...
   |         Hdrs: SatisfiesContract<T::Contract>,
   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `PublishBuilder::<Sink, MessageBody<'_, T>, Enc, Hdrs, Dest>::publish`

error[E0277]: the headers of this publish do not match the message's `WithHeaders<DoneMeta>` contract
  --> tests/ui/publish_missing_headers.rs:29:13
   |
29 |       let _ = out
   |  _____________^
30 | |         .message(&Done {
31 | |             key: order.id.to_string(),
32 | |         })
33 | |         .publish()
   | |__________________^ the trait `SatisfiesContract<WithHeaders<DoneMeta>>` is not implemented for `HeadersUnset`
   |
   = note: a message declaring `#[outgoing(headers = Meta)]` is published as `.message(&value).with_headers(&meta)`; one declaring no contract takes no contract value (an arbitrary map still travels through `.with_headers(headers)`)
help: the trait `SatisfiesContract<WithHeaders<DoneMeta>>` is not implemented for `HeadersUnset`
      but trait `SatisfiesContract<NoHeaders>` is implemented for it
  --> src/runtime/publish/builder.rs
   |
   | impl SatisfiesContract<NoHeaders> for HeadersUnset {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = help: for that trait implementation, expected `NoHeaders`, found `WithHeaders<DoneMeta>`
note: required by a bound in `PublishBuilder::<Sink, MessageBody<'_, T>, Enc, Hdrs, Dest>::publish`
  --> src/runtime/publish/builder.rs
   |
   |     pub async fn publish(self) -> Result<(), PublishError<Sink::Error>>
   |                  ------- required by a bound in this associated function
...
   |         Hdrs: SatisfiesContract<T::Contract>,
   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `PublishBuilder::<Sink, MessageBody<'_, T>, Enc, Hdrs, Dest>::publish`

error[E0277]: the headers of this publish do not match the message's `WithHeaders<DoneMeta>` contract
  --> tests/ui/publish_missing_headers.rs:34:10
   |
34 |         .await;
   |          ^^^^^ the trait `SatisfiesContract<WithHeaders<DoneMeta>>` is not implemented for `HeadersUnset`
   |
   = note: a message declaring `#[outgoing(headers = Meta)]` is published as `.message(&value).with_headers(&meta)`; one declaring no contract takes no contract value (an arbitrary map still travels through `.with_headers(headers)`)
help: the trait `SatisfiesContract<WithHeaders<DoneMeta>>` is not implemented for `HeadersUnset`
      but trait `SatisfiesContract<NoHeaders>` is implemented for it
  --> src/runtime/publish/builder.rs
   |
   | impl SatisfiesContract<NoHeaders> for HeadersUnset {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = help: for that trait implementation, expected `NoHeaders`, found `WithHeaders<DoneMeta>`
note: required by a bound in `PublishBuilder::<Sink, MessageBody<'_, T>, Enc, Hdrs, Dest>::publish`
  --> src/runtime/publish/builder.rs
   |
   |     pub async fn publish(self) -> Result<(), PublishError<Sink::Error>>
   |                  ------- required by a bound in this associated function
...
   |         Hdrs: SatisfiesContract<T::Contract>,
   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `PublishBuilder::<Sink, MessageBody<'_, T>, Enc, Hdrs, Dest>::publish`