pub struct WcetHints {
pub schema: String,
pub functions: BTreeMap<String, WcetFunctionHints>,
}Expand description
The parsed --wcet-hints file (synth-wcet-hints-v1) — an UNTRUSTED oracle
input (#778 phase 2, the scry integration seam). Per function, an ordered
array of claimed loop-trip-count upper bounds, matched to loops by ascending
head offset (entry N = N-th loop head in the function; null skips a loop).
Every entry is soundly CHECKED before use: synth re-derives the loop’s trip
count from its own induction proof and consumes the hint only when the
derived count is ≤ the hint. A wrong or unverifiable hint is rejected with a
machine reason (WcetHintReject) — never trusted into a bound.
Fields§
§schema: StringMust equal HINTS_SCHEMA.
functions: BTreeMap<String, WcetFunctionHints>Per-function hint arrays, keyed by the compiled function name.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for WcetHints
impl<'de> Deserialize<'de> for WcetHints
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 WcetHints
impl StructuralPartialEq for WcetHints
Auto Trait Implementations§
impl Freeze for WcetHints
impl RefUnwindSafe for WcetHints
impl Send for WcetHints
impl Sync for WcetHints
impl Unpin for WcetHints
impl UnsafeUnpin for WcetHints
impl UnwindSafe for WcetHints
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.