pub enum AttrPayload {
Show 17 variants
ItemStatus(ItemStatus),
AssociatedItem {
role: AssociationRole,
item: ItemUid,
},
Uid(ItemUid),
ItemQuote(ItemQuote),
NeverErased,
NewtypeAsRefinement,
Lemma,
Language,
ProcessRead,
ProcessWrite,
ProcessInit,
ProtocolMessages,
PVConstructor,
PVHandwritten,
TraitMethodNoPrePost,
Erased,
Order(i32),
}
Expand description
Hax only understands one attribute: #[hax::json(PAYLOAD)]
where
PAYLOAD
is a JSON serialization of an inhabitant of
AttrPayload
.
Variants§
ItemStatus(ItemStatus)
AssociatedItem
Mark an item as associated with another one
Fields
role: AssociationRole
What is the nature of the association?
Uid(ItemUid)
ItemQuote(ItemQuote)
Decides of the position of a item quote
NeverErased
Mark an item so that hax never drop its body (this is useful for pre- and post- conditions of a function we dropped the body of: pre and post are part of type signature)
NewtypeAsRefinement
Lemma
Mark an item as a lemma statement to prove in the backend
Language
ProcessRead
ProcessWrite
ProcessInit
ProtocolMessages
PVConstructor
PVHandwritten
TraitMethodNoPrePost
Erased
Make an item opaque
Order(i32)
In the context of a set of fields (e.g. on a struct
), overrides its
order. By default, the order of a field is its index, e.g. the first
field has order 0, the i-th field has order i+1. Rust fields order
matters: it rules how bits are represented. Once extracted, the order
matters, but for different reasons, e.g. a field is refined with
another, requiring a specific order.
Trait Implementations§
Source§impl Clone for AttrPayload
impl Clone for AttrPayload
Source§fn clone(&self) -> AttrPayload
fn clone(&self) -> AttrPayload
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more