flux_middle::rty::refining

Trait Refine

Source
pub trait Refine {
    type Output;

    // Required method
    fn refine(&self, refiner: &Refiner<'_, '_>) -> QueryResult<Self::Output>;
}

Required Associated Types§

Required Methods§

Source

fn refine(&self, refiner: &Refiner<'_, '_>) -> QueryResult<Self::Output>

Implementations on Foreign Types§

Source§

impl Refine for ClauseKind

Source§

type Output = ClauseKind

Source§

fn refine(&self, refiner: &Refiner<'_, '_>) -> QueryResult<ClauseKind>

Source§

impl Refine for ExistentialPredicate

Source§

type Output = ExistentialPredicate

Source§

fn refine(&self, refiner: &Refiner<'_, '_>) -> QueryResult<Self::Output>

Source§

impl Refine for Clause

Source§

type Output = Clause

Source§

fn refine(&self, refiner: &Refiner<'_, '_>) -> QueryResult<Clause>

Source§

impl Refine for FnSig

Source§

type Output = FnSig

Source§

fn refine(&self, refiner: &Refiner<'_, '_>) -> QueryResult<FnSig>

Source§

impl Refine for GenericPredicates

Source§

impl Refine for TraitRef

Source§

type Output = TraitRef

Source§

fn refine(&self, refiner: &Refiner<'_, '_>) -> QueryResult<TraitRef>

Source§

impl Refine for Ty

Source§

type Output = Ty

Source§

fn refine(&self, refiner: &Refiner<'_, '_>) -> QueryResult<Ty>

Source§

impl<T> Refine for [T]
where T: Refine<Output: SliceInternable>,

Source§

type Output = Interned<[<T as Refine>::Output]>

Source§

fn refine(&self, refiner: &Refiner<'_, '_>) -> QueryResult<List<T::Output>>

Source§

impl<T: Refine> Refine for Binder<T>

Source§

type Output = Binder<<T as Refine>::Output>

Source§

fn refine(&self, refiner: &Refiner<'_, '_>) -> QueryResult<Binder<T::Output>>

Implementors§

Source§

impl<T> Refine for List<T>