pub struct WcetFunctionHints {
pub loop_bounds: Vec<Option<u64>>,
pub recursion_depth: Option<u64>,
}Expand description
Per-function loop-bound hints.
Fields§
§loop_bounds: Vec<Option<u64>>Claimed trip-count upper bounds, one per loop in ascending-head-offset
order; null leaves that loop unhinted.
recursion_depth: Option<u64>(#778 phase 4 / #49) An UNTRUSTED claimed maximum SELF-recursion depth for
this function. Consulted only when synth has proven the function is a
single-self-call chain whose controlling value is entry-independently bounded
(a masked-slot counter): synth then DERIVES its own maximum depth from the
mask+step+base induction and cross-checks this hint (hint < derived →
hint-below-derived-depth). A hint on a function whose recursion synth cannot
so verify is REJECTED (hint-unverifiable-recursion) and never trusted. The
emitted bound always uses synth’s DERIVED depth, never the raw hint.
Trait Implementations§
Source§impl Clone for WcetFunctionHints
impl Clone for WcetFunctionHints
Source§fn clone(&self) -> WcetFunctionHints
fn clone(&self) -> WcetFunctionHints
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WcetFunctionHints
impl Debug for WcetFunctionHints
Source§impl Default for WcetFunctionHints
impl Default for WcetFunctionHints
Source§fn default() -> WcetFunctionHints
fn default() -> WcetFunctionHints
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for WcetFunctionHints
impl<'de> Deserialize<'de> for WcetFunctionHints
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
impl Eq for WcetFunctionHints
Source§impl PartialEq for WcetFunctionHints
impl PartialEq for WcetFunctionHints
Source§impl Serialize for WcetFunctionHints
impl Serialize for WcetFunctionHints
impl StructuralPartialEq for WcetFunctionHints
Auto Trait Implementations§
impl Freeze for WcetFunctionHints
impl RefUnwindSafe for WcetFunctionHints
impl Send for WcetFunctionHints
impl Sync for WcetFunctionHints
impl Unpin for WcetFunctionHints
impl UnsafeUnpin for WcetFunctionHints
impl UnwindSafe for WcetFunctionHints
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.