Test widen literal types of parameter properties

This commit is contained in:
Nathan Shively-Sanders 2016-11-16 15:15:30 -08:00
parent 6a13fda60c
commit c7b0083820
3 changed files with 46 additions and 0 deletions

View file

@ -0,0 +1,15 @@
tests/cases/conformance/types/literal/literalTypesWidenInParameterPosition.ts(4,9): error TS2322: Type '5' is not assignable to type '1'.
==== tests/cases/conformance/types/literal/literalTypesWidenInParameterPosition.ts (1 errors) ====
class D {
readonly noWiden = 1
constructor(readonly widen = 2) {
this.noWiden = 5; // error
~~~~~~~~~~~~
!!! error TS2322: Type '5' is not assignable to type '1'.
this.widen = 6; // ok
}
}
new D(7); // ok

View file

@ -0,0 +1,23 @@
//// [literalTypesWidenInParameterPosition.ts]
class D {
readonly noWiden = 1
constructor(readonly widen = 2) {
this.noWiden = 5; // error
this.widen = 6; // ok
}
}
new D(7); // ok
//// [literalTypesWidenInParameterPosition.js]
var D = (function () {
function D(widen) {
if (widen === void 0) { widen = 2; }
this.widen = widen;
this.noWiden = 1;
this.noWiden = 5; // error
this.widen = 6; // ok
}
return D;
}());
new D(7); // ok

View file

@ -0,0 +1,8 @@
class D {
readonly noWiden = 1
constructor(readonly widen = 2) {
this.noWiden = 5; // error
this.widen = 6; // ok
}
}
new D(7); // ok