Ryan Cavanaugh
Ryan Cavanaugh
It'd be nice to fix this but I'm not even sure how. The problem is that this isn't a soundness violation -- if we write out the getter that is...
```ts class Base { method = (x: number) => { // ... } } class Derived extends Base { method(x) { // Does 'x' have the type 'number' here? }...
I *really* want to take this and #10570 as part of a "3.0 is a numerological excuse to make some good breaks" bundle. Regarding this example ```ts class Base {...
@sandersn please add `/** @nonnull */expr` as JS sugar for `(expr as NonNullable)` 🍻
That's the easier and more correct way to write it, yes 😝
In principle it's doable - we can detect when the resolved entity is a legal extends target
The error really does mean exactly what it says 🙃
@weswigham I was hoping this workaround would work, but it didn't (checked on nightly as well): ```ts export interface InterfaceToAugment { } export type InterfaceKey = keyof InterfaceToAugment; export default...
I think this is really putting the cart before the horse relative to #34516. Anyway, `A` and `B` happen to be both concrete and non-generic, but they could vary on...
This would actually be *very* tricky because `x.t` and `x["t"]` mean different things in a type context, so it's unclear which a destructuring should be doing since neither is implied...