The error “rbrace expected” is a common occurence caused by some parsing error within a brace-enclosed block, such as a module declaration, a class declaration, or a block statement. The error means that the parser does not expect whatever characters it next sees. Consequently, the parser just says that it expects the block to be closed by a right curly brace (}). Indeed, one cause might be an inadvertently omitted right brace.

Here are some other examples:

  • A misspelled keyword introducing the next declaration ``` module A { method m() {} mthod n() {} }
- A `const` initializer follows ':=', not '='

module A { const x: int= 4; }

- A field (`var`) does not take an initializer

class B { var x: int := 5 }

- A field (`var`) does not take an initializer, and if it did it would follow a `:=`, not a `=`

class A { var x: int = 5; }