Identity of union type
This commit is contained in:
parent
16fc7a22e2
commit
1ca9273f49
3 changed files with 47 additions and 0 deletions
20
tests/baselines/reference/unionTypeIdentity.errors.txt
Normal file
20
tests/baselines/reference/unionTypeIdentity.errors.txt
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/unionTypeIdentity.ts(6,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'strOrNum' must be of type 'string | boolean', but here has type 'string'.
|
||||||
|
tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/unionTypeIdentity.ts(7,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'strOrNum' must be of type 'string | boolean', but here has type 'boolean'.
|
||||||
|
tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/unionTypeIdentity.ts(8,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'strOrNum' must be of type 'string | boolean', but here has type 'number'.
|
||||||
|
|
||||||
|
|
||||||
|
==== tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/unionTypeIdentity.ts (3 errors) ====
|
||||||
|
// Two types are considered identical when
|
||||||
|
// they are union types with identical sets of constituent types, or
|
||||||
|
var strOrNum: string | boolean;
|
||||||
|
var strOrNum: boolean | string;
|
||||||
|
var strOrNum: boolean | string | boolean;
|
||||||
|
var strOrNum: string; // error
|
||||||
|
~~~~~~~~
|
||||||
|
!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'strOrNum' must be of type 'string | boolean', but here has type 'string'.
|
||||||
|
var strOrNum: boolean; // error
|
||||||
|
~~~~~~~~
|
||||||
|
!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'strOrNum' must be of type 'string | boolean', but here has type 'boolean'.
|
||||||
|
var strOrNum: number; // error
|
||||||
|
~~~~~~~~
|
||||||
|
!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'strOrNum' must be of type 'string | boolean', but here has type 'number'.
|
19
tests/baselines/reference/unionTypeIdentity.js
Normal file
19
tests/baselines/reference/unionTypeIdentity.js
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
//// [unionTypeIdentity.ts]
|
||||||
|
// Two types are considered identical when
|
||||||
|
// they are union types with identical sets of constituent types, or
|
||||||
|
var strOrNum: string | boolean;
|
||||||
|
var strOrNum: boolean | string;
|
||||||
|
var strOrNum: boolean | string | boolean;
|
||||||
|
var strOrNum: string; // error
|
||||||
|
var strOrNum: boolean; // error
|
||||||
|
var strOrNum: number; // error
|
||||||
|
|
||||||
|
//// [unionTypeIdentity.js]
|
||||||
|
// Two types are considered identical when
|
||||||
|
// they are union types with identical sets of constituent types, or
|
||||||
|
var strOrNum;
|
||||||
|
var strOrNum;
|
||||||
|
var strOrNum;
|
||||||
|
var strOrNum; // error
|
||||||
|
var strOrNum; // error
|
||||||
|
var strOrNum; // error
|
|
@ -0,0 +1,8 @@
|
||||||
|
// Two types are considered identical when
|
||||||
|
// they are union types with identical sets of constituent types, or
|
||||||
|
var strOrNum: string | boolean;
|
||||||
|
var strOrNum: boolean | string;
|
||||||
|
var strOrNum: boolean | string | boolean;
|
||||||
|
var strOrNum: string; // error
|
||||||
|
var strOrNum: boolean; // error
|
||||||
|
var strOrNum: number; // error
|
Loading…
Reference in a new issue