fn foo$0() -> u32 {
let x = 0;
x
}
fn bar() -> u32 {
foo() + foo()
}
gives us
fn bar() -> u32 {
{
let x = 0;
x
} + {
let x = 0;
x
}
}
which is invalid, as the first block will be parsed as a statement and as such we need to wrap the first block in () parentheses to force an expression parse.
cc #10352 (comment)