Skip to main content

DecyOracle

Struct DecyOracle 

Source
pub struct DecyOracle { /* private fields */ }
Expand description

Decy CITL Oracle

Queries accumulated fix patterns to suggest corrections for rustc errors.

Implementations§

Source§

impl DecyOracle

Source

pub fn new(config: OracleConfig) -> Result<Self, OracleError>

Create a new oracle from configuration

Source

pub fn has_patterns(&self) -> bool

Check if the oracle has patterns loaded

Source

pub fn pattern_count(&self) -> usize

Get the number of patterns loaded

Source

pub fn suggest_fix( &mut self, error: &RustcError, _context: &CDecisionContext, ) -> Option<()>

Query for fix suggestion (stub when citl feature disabled)

Source

pub fn record_miss(&mut self, error: &RustcError)

Record a miss (no suggestion found)

Source

pub fn record_fix_applied(&mut self, error: &RustcError)

Record a successful fix application

Source

pub fn record_fix_verified(&mut self, error: &RustcError)

Record a verified fix (compiled successfully)

Source

pub fn metrics(&self) -> &OracleMetrics

Get current metrics

Source

pub fn config(&self) -> &OracleConfig

Get configuration

Source

pub fn needs_bootstrap(&self) -> bool

Check if bootstrap patterns are needed

Returns true if the oracle has no patterns or very few patterns, indicating that bootstrapping would be beneficial.

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> 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, 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.