glimmer-vm
glimmer-vm copied to clipboard
[ENHANCEMENT+CLEANUP] Better compile time errors for strict mode
Removing support for implicit this fallback {{foo}} -> {{this.foo}}
When a strict mode template references an undefined variable, it really should produce a compile-time error, arguably that is the point of the feature.
However, it seems like previously a lot of these errors ended up propagating and is actually handled by the runtime compiler.
The original/primary goal here started out as cleaning up all the code for implicit this fallback, but as I delete code it eventually revaled all the places where strict mode was inappropiately using the same infrastructure ("unresolved free variables", which isn't really a sensible thing).
Also:
- Removes
{{#with}} - Removes "deprecated call" @foo={{bar}}
- Removes unused opcodes
- Syncs keyword list with Ember