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