error[E0277]: `NoPayload` lends no payload, so no column holds a message's bytes
--> tests/ui/mount.rs:36:35
|
36 | SqlxBroker::new(pool).route::<NoPayload>("jobs")
| ----- ^^^^^^^^^ no `PayloadRow` for this row
| |
| required by a bound introduced by this call
|
help: the trait `PayloadRow` is not implemented for `NoPayload`
--> tests/ui/mount.rs:13:1
|
13 | struct NoPayload {
| ^^^^^^^^^^^^^^^^
= note: a table in row mode: write its rows with the derive's `insert`, or with `Repository` over a `Publish` of the service's own
= note: a route and a by-name subscription read a table whose `#[field(payload)]` field holds the message
= note: a table described by hand that sets `.payload(..)` implements `PayloadRow` for the field the column decodes into
help: the trait `PayloadRow` is implemented for `Unacked`
--> tests/ui/mount.rs:25:10
|
25 | #[derive(Inbox, sqlx::FromRow)]
| ^^^^^
note: required by a bound in `SqlxBroker::<DB, D>::route`
--> src/inbox/broker.rs
|
| pub fn route<Row>(mut self, name: impl Into<Cow<'static, str>>) -> Self
| ----- required by a bound in this associated function
| where
| Row: Publish<DB> + Events<DB> + PayloadRow,
| ^^^^^^^^^^ required by this bound in `SqlxBroker::<DB, D>::route`
= note: this error originates in the derive macro `Inbox` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: `Unacked` runs its own `ack` (`custom(ack)` in `#[inbox(..)]`, or `own::Ack` in its `InboxSpec`) and does not implement `Ack<sqlx::Postgres>`
--> tests/ui/mount.rs:40:16
|
40 | subscribes(InboxQueue::<Unacked>::new("jobs"));
| ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the service's own event is missing
| |
| required by a bound introduced by this call
|
help: the trait `ruststream_sqlx::Ack<sqlx::Postgres>` is not implemented for `Unacked`
--> tests/ui/mount.rs:27:1
|
27 | struct Unacked {
| ^^^^^^^^^^^^^^
= note: implement `Ack<sqlx::Postgres>` for `Unacked`, or drop `ack` from `custom(..)` (by hand: `.own::<own::Ack>()` and `own::Ack` in `type Table`)
help: the trait `SubscriptionSource<ConnectedSqlxBroker<DB, D>>` is conditionally implemented for `InboxQueue<Row, Mode>`
--> src/inbox/queue.rs
|
| / impl<DB, D, Row, Mode> SubscriptionSource<ConnectedSqlxBroker<DB, D>> for InboxQueue<Row, Mode>
| | where
| | DB: QueueDatabase,
| | D: Dialect + Opens<Row::Opening> + 'static,
| | Row: InboxRow + Events<DB>,
| | ---------- unsatisfied requirement introduced here: `Unacked: ruststream_sqlx::__private::Events<sqlx::Postgres>`
| | Row::Form: FormOn<D>,
| | Mode: InboxMode,
| |____________________^
= note: required for `Set<ruststream_sqlx::spec::own::Ack>` to implement `ruststream_sqlx::__private::AckAxis<sqlx::Postgres, Unacked>`
= note: required for `Unacked` to implement `ruststream_sqlx::__private::Events<sqlx::Postgres>`
= note: required for `InboxQueue<Unacked>` to implement `SubscriptionSource<ConnectedSqlxBroker<sqlx::Postgres>>`
note: required by a bound in `subscribes`
--> tests/ui/mount.rs:6:23
|
6 | fn subscribes<Source: SubscriptionSource<Connected<SqlxBroker<Postgres>>>>(source: Source) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `subscribes`