There's no problem with the identifiers, TS has long hardcoded a big table. But for Uppercase/Lowercase/Capitalize, we just did .toUpperCase etc provided by the platform, which could differ.
We now include the tables for Unicode 15.1 but 16+ changed _both_ identifiers and casing rules. Yay...
it's all good, we're no less spooky than we used to be in JS, at least
of course it works but only because I realized last week that the Unicode 17 update broke us
protip: do not take a dependency on Unicode for your language or type system
Yay "JS identifiers are defined in terms of Unicode classes" and "TS has Uppercase/Lowercase transformation types"
But it does change stack traces, but thankfully just for that edge case, which, again did not have a test ðŸ«
That or, maybe the spec should change or be reinterpreted in such a way that we can avoid the wrappers entirely...?
Still just as good!
The Release Candidate for TypeScript 7.0 is now available!
@jorropo.net burst my bubble; this could actually be observable by a very goofy case of a boxed nil interface call, something that the Go test suite did not test!
But, it's still salvageable; just generate one wrapper instead of zero, which is just a simplification of my second CL. redone