Give a better error for code corrupted by smart quotes
Motivation
Consider this invalid code:
badString = “hello”
badChar = ‘x’
The errors we give for it are lexical error at character 'h' and lexical error at character 'x'. Unless you can see that those are surrounded by smart quotes in your code, and already know that smart quotes are a problem, that error won't be helpful.
Proposal
I propose that we give an error explicitly pointing out the smart quotes and saying they're not real quotes (similar to what Rust does: Unicode characters '“' (Left Double Quotation Mark) and '”' (Right Double Quotation Mark) look like '"' (Quotation Mark), but are not).
Edited by Joseph C. Sible