TypeScript/tests/cases/compiler/noCrashOnMixin.ts
Wesley Wigham 3d64b9d7ac
Handle intersection types when looking up base types for visibility (#25418)
* Handle intersection types when looking up base types for visibility

* Extract protected constructor check to function and recur on intersections

* Remove unneeded cast
2018-07-09 16:58:55 -07:00

23 lines
382 B
TypeScript

class Abstract {
protected constructor() {
}
}
class Concrete extends Abstract {
}
type Constructor<T = {}> = new (...args: any[]) => T;
function Mixin<TBase extends Constructor>(Base: TBase) {
return class extends Base {
};
}
class Empty {
}
class CrashTrigger extends Mixin(Empty) {
public trigger() {
new Concrete();
}
}