pub struct RegionBlock {
pub until: bool,
pub condition: String,
pub body: Vec<BodyStmt>,
pub lapse_binding: Option<String>,
pub lapse_body: Vec<BodyStmt>,
pub body_span: SourceSpan,
pub lapse_span: SourceSpan,
pub span: SourceSpan,
}Expand description
DR-0043 Decision 5: a during <cond> { … } on lapse [as x] { … } region
(until <cond> is the negated polarity). The region’s steps commit only
while the condition holds — checked atomically inside each advancing
commit — and the first advancing commit under a broken condition commits
the lapse arm instead, exactly once. Statements after the region are the
point of no return.
Fields§
§until: booluntil negates: the region runs while the condition is FALSE and
lapses when it becomes true.
condition: StringThe condition’s raw expression text (guard grammar; pure queries).
body: Vec<BodyStmt>§lapse_binding: Option<String>on lapse as <binding>: the synthesized optional progress view.
lapse_body: Vec<BodyStmt>§body_span: SourceSpanSource extent of the region BODY content (inside its braces), for the compile-path variant splices.
lapse_span: SourceSpanSource extent of the lapse-arm content (inside its braces).
span: SourceSpanTrait Implementations§
Source§impl Clone for RegionBlock
impl Clone for RegionBlock
Source§fn clone(&self) -> RegionBlock
fn clone(&self) -> RegionBlock
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more