Some random examples that TS 5.1 considers valid syntax (not exhaustive):
declare let declare: any, foo: any
declare foo
declare let declare: any, foo: any
declare foo()
declare let declare: any, foo: any
declare {foo}
🙁 Actual behavior
TypeScript silently does automatic semicolon insertion after declare in all of these cases without generating any syntax errors.
🙂 Expected behavior
I expected these to be syntax errors. I did not expect TypeScript to silently be doing automatic semicolon insertion after declare here as if this is valid syntax.
Bug Report
🔎 Search Terms
declare asi semicolon
🕗 Version & Regression Information
⏯ Playground Link
Playground link for version 4.3.5 (fine) Playground link for version 4.4.4 (problematic)
💻 Code
Some random examples that TS 5.1 considers valid syntax (not exhaustive):
🙁 Actual behavior
TypeScript silently does automatic semicolon insertion after
declare
in all of these cases without generating any syntax errors.🙂 Expected behavior
I expected these to be syntax errors. I did not expect TypeScript to silently be doing automatic semicolon insertion after
declare
here as if this is valid syntax.