Trait StructuredControlFlowOpBuilder

Source
pub trait StructuredControlFlowOpBuilder<'f, B: ?Sized + Builder> {
    // Required methods
    fn builder(&self) -> &B;
    fn builder_mut(&mut self) -> &mut B;

    // Provided methods
    fn if(
        &mut self,
        cond: ValueRef,
        results: &[Type],
        span: SourceSpan,
    ) -> Result<UnsafeIntrusiveEntityRef<If>, Report> { ... }
    fn while<T>(
        &mut self,
        loop_init_variables: T,
        results: &[Type],
        span: SourceSpan,
    ) -> Result<UnsafeIntrusiveEntityRef<While>, Report>
       where T: IntoIterator<Item = ValueRef> { ... }
    fn index_switch<T>(
        &mut self,
        selector: ValueRef,
        cases: T,
        results: &[Type],
        span: SourceSpan,
    ) -> Result<UnsafeIntrusiveEntityRef<IndexSwitch>, Report>
       where T: IntoIterator<Item = u32> { ... }
    fn condition<T>(
        &mut self,
        cond: ValueRef,
        forwarded: T,
        span: SourceSpan,
    ) -> Result<UnsafeIntrusiveEntityRef<Condition>, Report>
       where T: IntoIterator<Item = ValueRef> { ... }
    fn yield<T>(
        &mut self,
        yielded: T,
        span: SourceSpan,
    ) -> Result<UnsafeIntrusiveEntityRef<Yield>, Report>
       where T: IntoIterator<Item = ValueRef> { ... }
}

Required Methods§

Source

fn builder(&self) -> &B

Source

fn builder_mut(&mut self) -> &mut B

Provided Methods§

Source

fn if( &mut self, cond: ValueRef, results: &[Type], span: SourceSpan, ) -> Result<UnsafeIntrusiveEntityRef<If>, Report>

Source

fn while<T>( &mut self, loop_init_variables: T, results: &[Type], span: SourceSpan, ) -> Result<UnsafeIntrusiveEntityRef<While>, Report>
where T: IntoIterator<Item = ValueRef>,

Source

fn index_switch<T>( &mut self, selector: ValueRef, cases: T, results: &[Type], span: SourceSpan, ) -> Result<UnsafeIntrusiveEntityRef<IndexSwitch>, Report>
where T: IntoIterator<Item = u32>,

Source

fn condition<T>( &mut self, cond: ValueRef, forwarded: T, span: SourceSpan, ) -> Result<UnsafeIntrusiveEntityRef<Condition>, Report>
where T: IntoIterator<Item = ValueRef>,

Source

fn yield<T>( &mut self, yielded: T, span: SourceSpan, ) -> Result<UnsafeIntrusiveEntityRef<Yield>, Report>
where T: IntoIterator<Item = ValueRef>,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<'f> StructuredControlFlowOpBuilder<'f, OpBuilder> for &'f mut OpBuilder

Source§

fn builder(&self) -> &OpBuilder

Source§

fn builder_mut(&mut self) -> &mut OpBuilder

Source§

impl<'f, B: ?Sized + Builder> StructuredControlFlowOpBuilder<'f, B> for FunctionBuilder<'f, B>

Source§

fn builder(&self) -> &B

Source§

fn builder_mut(&mut self) -> &mut B

Implementors§