error[E0277]: `Untaken` names its own fetch and does not implement `outbox::Fetch<sqlx::Postgres>`
--> tests/ui/outbox_register_custom_missing.rs:27:44
|
27 | let _ = Outbox::<Postgres>::deferred().register::<Untaken>("orders");
| ^^^^^^^^ the service's own fetch is missing
|
help: the trait `ruststream_sqlx::outbox::Fetch<sqlx::Postgres>` is not implemented for `Untaken`
--> tests/ui/outbox_register_custom_missing.rs:7:1
|
7 | struct Untaken {
| ^^^^^^^^^^^^^^
= note: implement `outbox::Fetch<sqlx::Postgres>` for `Untaken`, or drop `fetch` from `#[outbox(custom(..))]` (or `.own::<own::Fetch>()` from its `OutboxSpec`)
help: the trait `ruststream_sqlx::outbox::RecordList<DB>` is conditionally implemented for `Registered<Record, Rest>`
--> src/outbox/registry/list.rs
|
| / impl<DB, Record, Rest> RecordList<DB> for Registered<Record, Rest>
| | where
| | DB: Database,
| | Record: Tracked<DB>,
| | ----------- unsatisfied requirement introduced here: `Untaken: ruststream_sqlx::outbox::Tracked<sqlx::Postgres>`
| | Rest: RecordList<DB>,
| |_________________________^
= note: required for `Set<ruststream_sqlx::outbox::spec::own::Fetch>` to implement `ruststream_sqlx::outbox::FetchBy<sqlx::Postgres, Untaken>`
= note: required for `Untaken` to implement `ruststream_sqlx::outbox::Tracked<sqlx::Postgres>`
= note: required for `Registered<Untaken, Nil>` to implement `ruststream_sqlx::outbox::RecordList<sqlx::Postgres>`
note: required by a bound in `ruststream_sqlx::Outbox::<DB, Records>::register`
--> src/outbox/registry.rs
|
| pub fn register<Record: OutboxTable>(
| -------- required by a bound in this associated function
...
| Registered<Record, Records>: RecordList<DB>,
| ^^^^^^^^^^^^^^ required by this bound in `Outbox::<DB, Records>::register`