fix error of RangeFrom in for-loop
This commit is contained in:
@@ -110,7 +110,13 @@ pub(super) fn atom_expr(p: &mut Parser, r: Restrictions) -> Option<(CompletedMar
|
||||
p.bump();
|
||||
block_expr(p, Some(m))
|
||||
}
|
||||
T!['{'] => block_expr(p, None),
|
||||
T!['{'] => {
|
||||
if r.forbid_structs {
|
||||
return None;
|
||||
} else {
|
||||
block_expr(p, None)
|
||||
}
|
||||
}
|
||||
T![return] => return_expr(p),
|
||||
T![continue] => continue_expr(p),
|
||||
T![break] => break_expr(p, r),
|
||||
@@ -307,6 +313,16 @@ fn while_expr(p: &mut Parser, m: Option<Marker>) -> CompletedMarker {
|
||||
// fn foo() {
|
||||
// for x in [] {};
|
||||
// }
|
||||
|
||||
// test for_range_block
|
||||
// fn foo() {
|
||||
// for x in 0 .. {
|
||||
// break;
|
||||
// }
|
||||
// for _x in 0 .. (0 .. {1 + 2}).sum::<u32>() {
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
fn for_expr(p: &mut Parser, m: Option<Marker>) -> CompletedMarker {
|
||||
assert!(p.at(T![for]));
|
||||
let m = m.unwrap_or_else(|| p.start());
|
||||
|
||||
Reference in New Issue
Block a user