TypeScript/tests/cases/conformance/classes/constructorDeclarations/constructorWithAssignableReturnExpression.ts

35 lines
529 B
TypeScript
Raw Normal View History

2014-07-13 01:04:16 +02:00
// a class constructor may return an expression, it must be assignable to the class instance type to be valid
class C {
constructor() {
return 1;
}
}
class D {
x: number;
constructor() {
return 1; // error
}
}
class E {
x: number;
constructor() {
return { x: 1 };
}
}
class F<T> {
x: T;
constructor() {
return { x: 1 }; // error
}
}
class G<T> {
x: T;
constructor() {
return { x: <T>null };
}
}