scan

Function scan 

Source
pub fn scan(file: FileId, src: &str, diags: &mut Diagnostics)
Expand description

Check a source file before either surface reads it.

One place, both surfaces, because the S-expression reader is the same front end and a rule that holds on one notation and not the other is not a rule (adr/0012 makes the same argument about a different bound).

Zero-width joiners are deliberately not here. U+200D is how an emoji sequence is spelled, a string is data, and with identifiers already restricted to ASCII there is no confusable identifier for an invisible character to help build. A rule with no attack behind it is a rule somebody will eventually be forced to work around.