2016-07-29 17:34:14 +02:00
|
|
|
class CBaseBase<T3> {
|
|
|
|
constructor(x: Parameter<T3>) { }
|
2015-04-18 03:28:05 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
class CBase<T2> extends CBaseBase<Wrapper<T2>> {
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
class Parameter<T4> {
|
|
|
|
method(t: T4) { }
|
|
|
|
}
|
|
|
|
|
|
|
|
class Wrapper<T5> {
|
|
|
|
property: T5;
|
2016-07-29 17:34:14 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
class C<T1> extends CBase<T1> {
|
|
|
|
public works() {
|
|
|
|
new CBaseBase<Wrapper<T1>>(this);
|
|
|
|
}
|
|
|
|
public alsoWorks() {
|
|
|
|
new CBase<T1>(this); // Should not error, parameter is of type Parameter<Wrapper<T1>>
|
|
|
|
}
|
|
|
|
|
|
|
|
public method(t: Wrapper<T1>) { }
|
|
|
|
}
|