pub struct I8NonZero(/* private fields */);Expand description
Contract type for non-zero i8 values (!= 0).
Validates on construction, unwraps to stdlib i8.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for I8NonZero
impl<'de> Deserialize<'de> for I8NonZero
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
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 ElicitSpec for I8NonZero
impl ElicitSpec for I8NonZero
Source§impl Elicitation for I8NonZero
impl Elicitation for I8NonZero
Source§type Style = I8NonZeroStyle
type Style = I8NonZeroStyle
The style enum for this type. Read more
Source§async fn elicit<C: ElicitCommunicator>(communicator: &C) -> ElicitResult<Self>
async fn elicit<C: ElicitCommunicator>(communicator: &C) -> ElicitResult<Self>
Elicit a value of this type from the user via style-aware client. Read more
Source§fn kani_proof() -> TokenStream
fn kani_proof() -> TokenStream
Generate a Kani symbolic execution proof harness for this type. Read more
Source§fn verus_proof() -> TokenStream
fn verus_proof() -> TokenStream
Generate a Verus specification proof for this type. Read more
Source§fn creusot_proof() -> TokenStream
fn creusot_proof() -> TokenStream
Generate a Creusot contract proof for this type. Read more
Source§fn elicit_checked(
peer: Peer<RoleServer>,
) -> impl Future<Output = ElicitResult<Self>> + Send
fn elicit_checked( peer: Peer<RoleServer>, ) -> impl Future<Output = ElicitResult<Self>> + Send
Server-side elicitation via MCP peer. Read more
Source§fn with_style(style: Self::Style) -> ElicitBuilder<Self>
fn with_style(style: Self::Style) -> ElicitBuilder<Self>
Create a builder for one-off style override. Read more
Source§fn elicit_proven<C: ElicitCommunicator>(
communicator: &C,
) -> impl Future<Output = ElicitResult<(Self, Established<Is<Self>>)>> + Send
fn elicit_proven<C: ElicitCommunicator>( communicator: &C, ) -> impl Future<Output = ElicitResult<(Self, Established<Is<Self>>)>> + Send
Elicit a value with proof it inhabits type Self. Read more
Source§fn prusti_proof() -> TokenStream
fn prusti_proof() -> TokenStream
Generate a Prusti separation logic proof for this type. Read more
Source§impl JsonSchema for I8NonZero
impl JsonSchema for I8NonZero
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl Ord for I8NonZero
impl Ord for I8NonZero
Source§impl PartialOrd for I8NonZero
impl PartialOrd for I8NonZero
impl Copy for I8NonZero
impl ElicitationSafe for I8NonZero
impl Eq for I8NonZero
impl StructuralPartialEq for I8NonZero
Auto Trait Implementations§
impl Freeze for I8NonZero
impl RefUnwindSafe for I8NonZero
impl Send for I8NonZero
impl Sync for I8NonZero
impl Unpin for I8NonZero
impl UnsafeUnpin for I8NonZero
impl UnwindSafe for I8NonZero
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<T> ElicitJson for T
impl<T> ElicitJson for T
Source§async fn elicit_json<C>(communicator: &C) -> Result<T, ElicitError>where
C: ElicitCommunicator,
async fn elicit_json<C>(communicator: &C) -> Result<T, ElicitError>where
C: ElicitCommunicator,
Elicit a value by presenting the JSON schema and parsing the response.
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> WithContract for T
impl<T> WithContract for T
Source§fn with_contract<C>(contract: C) -> ContractedElicitation<Self, C>
fn with_contract<C>(contract: C) -> ContractedElicitation<Self, C>
Attach a contract to this type’s elicitation. Read more