Ryan Cavanaugh
Ryan Cavanaugh
@per1234 no offense taken, you're just being a bit abrasive about this. Our release process is subject to security constraints you may not be aware of, and we'd ask that...
Overload resolution selects the first matching signature (everyone loves it when language use simple algorithms, right? right??). There have been requests to do something more involved when `any` is involved,...
Isn't the core problem in this example that `value` is incorrectly declared? If it were ```ts declare const value: (() => string) | (() => undefined); if (value() !== undefined)...
Also an ELI5 explanation for why it's not correct to write `const v = value();` would be appreciated
A distributive conditional type would be correct, though you would only be able to narrow a union (`string | number`), not a specific value (if `T` is `string` you still...
Wait, if the idea is that `get` "always returns the same value", why is there a `set` method in the first place? Doesn't this imply the need for additional syntax...
> I mean, this violates the spirit of your argument as well: Okay, but it seems extremely nearsighted to ship a new CFA feature that is going to immediately run...
We discussed offline for a bit and wanted to find a solution that would be a bit more general-purpose and solve this problem more completely. The basic sketch was something...
Probably a subtlety here is that the modifier is attached to the *containing type's member list* (not the functions themselves) the same way `readonly` or `protected` is. It obviously doesn't...
Effectively ~all of these errors people are encountering represent problems that really could have induced actual runtime errors. For better or worse we do generally treat "This was not actually...