Enum AttrPayload

Source
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?

§item: ItemUid

What is the identifier of the target item?

§

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

Source§

fn clone(&self) -> AttrPayload

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AttrPayload

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for AttrPayload

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl From<&AttrPayload> for TokenStream

Source§

fn from(payload: &AttrPayload) -> Self

Converts to this type from the input type.
Source§

impl Serialize for AttrPayload

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl ToTokens for AttrPayload

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
Source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
Source§

fn into_token_stream(self) -> TokenStream
where Self: Sized,

Convert self directly into a TokenStream object. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,