E4064#
Invalid escape sequence in char/string literal.
Erroneous example#
Using an escape sequence with an invalid Unicode code point results in this error:
///|
test {
println('\uD800')
}
Another case is using an unsupported escape sequence in a Byte literal:
///|
test {
let _ : Byte = b'\uD000'
}
Only \x and \o escape sequences are supported in Byte literal.
Suggestion#
Use a valid Unicode code point for Char and String literals. For Byte
literals, use byte escape sequences such as \x or \o:
///|
test {
let char : Char = '\u{1F600}'
let byte : Byte = b'\x41'
ignore(char)
inspect(byte.to_int(), content="65")
}