#872)crash of spack (
The swc manages the span in a fairly unusual way. It manages span information by creating a global map and assigning a range in it. The global map should be protected with an atomic variable or mutex because swc supports threading.
I changed the code so that the two don't mix. As a multi-threading issue, I can't say it's 100% solved because it's hard to reproduce, but it's likely that it's fixed.
#861)Paren expression in left side (
(x) = (6);
Previous versions of swc interpreted this code differently than it was.
TypeScript 4.0 support
#864)non-last rest element in tuple (
type Strings = [string, string]; type Numbers = [number, number]; // [string, string, number, number] type StrStrNumNum = [...Strings, ...Numbers]; // works now
#866)new assignment operators (
a &&= b; a ||= b; a ??= b;
#865)labels in tuple types (
type Range = [start: number, end: number];