The function Language.PureScript.Parser.Lexer.isUnquotedKey does not correctly encode the fact that record labels must be quoted if they begin with numbers or uppercase letters. This causes error messages to produce invalid pretty-printed code in these (admittedly unusual) cases. For example:
test :: { "Oops" :: Int }
test = { }
produces
Type of expression lacks required label Oops.
while checking that expression {}
has type { Oops :: Int
}
in value declaration test
The function
Language.PureScript.Parser.Lexer.isUnquotedKeydoes not correctly encode the fact that record labels must be quoted if they begin with numbers or uppercase letters. This causes error messages to produce invalid pretty-printed code in these (admittedly unusual) cases. For example:produces