E0071
Nesting too deep
ErrorAn expression, type or block nests more than 256 levels deep.
Why
Every stage of the compiler walks the program as a tree, one level per nested expression, block or type. The limit keeps that walk from running out of stack, and no program written by hand comes near it. A program that reaches it is usually generated; give the nested parts names with let, or functions, instead.
Broken
fn main() {
let b = true
print(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!b)
}
What sisu says
error[E0071]: nesting is too deep --> E0071.sisu:3:264 | 3 | ...!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!b) | ^ | = help: the limit is 256 levels sisu: 1 error sisu: for more on a code, run `sisu explain <code>`: E0071
Fixed
An even number of ! cancels out:
fn main() {
let b = true
print(b)
}
Sisu