Sisu
E0071

Nesting too deep

Error

Built from the repository at commit a8614dc.

An 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)
}