use super::dispatch::{Declared, Slot};
use super::spec::{Declaration, OutboxTable};
#[diagnostic::on_unimplemented(
message = "`{Self}` is not an outbox record",
label = "this type does not describe an outbox table",
note = "derive `Outbox` for `{Self}` and mark its `id`, `name` and `payload` fields, or \
implement `OutboxTable` for it"
)]
pub trait OutboxRow: OutboxTable {
#[doc(hidden)]
const RETRY_WRITES: bool;
}
impl<Record> OutboxRow for Record
where
Record: OutboxTable,
<Declared<Record> as Declaration>::OwnRetry: Slot,
{
const RETRY_WRITES: bool = <<Declared<Record> as Declaration>::OwnRetry as Slot>::SET;
}