19249, "LouisJenkinsCS", "Internal Error: Segmentation Fault due to Bracket misplacement and other specific scenarios", "2022-02-15T17:04:55Z"
When missing a bracket, which is really easy to do in very large code, there are circumstances where the compiler shows undefined behavior. In this case, it will result in a segmentation fault, but in other cases I had false compiler errors due to, as mentioned, undefined behavior. This MWE reproduces the issue, but can easily show up in larger codes, as it showed up in mine.
module M {
class X {
proc Y() {
if (true) {
if (true) {
} else {
}
}
// Must be `override`!
override proc Z() {}
}
}
}