TypeScript/tests/cases/conformance/classes/constructorDeclarations/constructorWithAssignableReturnExpression.ts
2014-07-12 17:30:19 -07:00

35 lines
529 B
TypeScript

// 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 };
}
}