Does writing IAST(International Alphabet for Sanskrit Translation) causes mis interpretation of normalisation that same alphabet with same diacritic can be interpreted as different identifier
eg:
The second let declaration is caught by the compiler as an 'invalid redeclaration' maybe because identifiers in Swift are normalised according to 'NFKC', so the two distinct unicode representations amount to one and the same identifier. The error is caught in Playground (I did copy & paste from your example).
The 'invisible identifier' case from 2016 is weird because I expected the compiler to catch this too since Swift identifiers are very close to adhering to the Unicode XID_Start and XID_Continue categories and those wouldn't allow an identifier containing a Soft Hyphen (U+00AD).
// invisible identifiers
struct {
var : String
}
let : = (: "Invisble characters should not be acceptable identifiers.")
print()
But these obvious undesirables are not caught in Playground. I'm probably missing something? [correction: U+00AD is explicitly allowed as an indentifier start character in the Swift language definition. This is deviating from XID_Start.]