155 lines
9.4 KiB
Plaintext
155 lines
9.4 KiB
Plaintext
tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts(19,1): error TS2322: Type 'A' is not assignable to type 'A & B'.
|
|
Property 'b' is missing in type 'A' but required in type 'B'.
|
|
tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts(20,1): error TS2322: Type 'B' is not assignable to type 'A & B'.
|
|
Property 'a' is missing in type 'B' but required in type 'A'.
|
|
tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts(23,1): error TS2322: Type 'A | B' is not assignable to type '(A & B) | (C & D)'.
|
|
Type 'A' is not assignable to type '(A & B) | (C & D)'.
|
|
Type 'A' is not assignable to type 'A & B'.
|
|
tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts(25,1): error TS2322: Type 'C | D' is not assignable to type '(A & B) | (C & D)'.
|
|
Type 'C' is not assignable to type '(A & B) | (C & D)'.
|
|
Type 'C' is not assignable to type 'C & D'.
|
|
Property 'd' is missing in type 'C' but required in type 'D'.
|
|
tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts(26,1): error TS2322: Type '(A & B) | (C & D)' is not assignable to type 'A & B'.
|
|
Type 'C & D' is not assignable to type 'A & B'.
|
|
Property 'a' is missing in type 'C & D' but required in type 'A'.
|
|
tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts(27,1): error TS2322: Type '(A & B) | (C & D)' is not assignable to type 'A | B'.
|
|
Type 'C & D' is not assignable to type 'A | B'.
|
|
Property 'b' is missing in type 'C & D' but required in type 'B'.
|
|
tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts(28,1): error TS2322: Type '(A & B) | (C & D)' is not assignable to type 'C & D'.
|
|
Type 'A & B' is not assignable to type 'C & D'.
|
|
Property 'c' is missing in type 'A & B' but required in type 'C'.
|
|
tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts(29,1): error TS2322: Type '(A & B) | (C & D)' is not assignable to type 'C | D'.
|
|
Type 'A & B' is not assignable to type 'C | D'.
|
|
Property 'd' is missing in type 'A & B' but required in type 'D'.
|
|
tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts(31,1): error TS2322: Type 'A & B' is not assignable to type '(A | B) & (C | D)'.
|
|
Type 'A & B' is not assignable to type 'B & D'.
|
|
Property 'd' is missing in type 'A & B' but required in type 'D'.
|
|
tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts(32,1): error TS2322: Type 'A | B' is not assignable to type '(A | B) & (C | D)'.
|
|
Type 'A' is not assignable to type '(A | B) & (C | D)'.
|
|
Type 'A' is not assignable to type 'A & D'.
|
|
Property 'd' is missing in type 'A' but required in type 'D'.
|
|
tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts(33,1): error TS2322: Type 'C & D' is not assignable to type '(A | B) & (C | D)'.
|
|
Type 'C & D' is not assignable to type 'B & D'.
|
|
Property 'b' is missing in type 'C & D' but required in type 'B'.
|
|
tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts(34,1): error TS2322: Type 'C | D' is not assignable to type '(A | B) & (C | D)'.
|
|
Type 'C' is not assignable to type '(A | B) & (C | D)'.
|
|
Type 'C' is not assignable to type 'B & C'.
|
|
Property 'b' is missing in type 'C' but required in type 'B'.
|
|
tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts(35,1): error TS2322: Type '(A | B) & (C | D)' is not assignable to type 'A & B'.
|
|
Type 'A & C' is not assignable to type 'A & B'.
|
|
Property 'b' is missing in type 'A & C' but required in type 'B'.
|
|
tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts(37,1): error TS2322: Type '(A | B) & (C | D)' is not assignable to type 'C & D'.
|
|
Type 'A & C' is not assignable to type 'C & D'.
|
|
Property 'd' is missing in type 'A & C' but required in type 'D'.
|
|
|
|
|
|
==== tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts (14 errors) ====
|
|
interface A { a: string }
|
|
interface B { b: string }
|
|
interface C { c: string }
|
|
interface D { d: string }
|
|
|
|
var a: A;
|
|
var b: B;
|
|
var c: C;
|
|
var d: D;
|
|
var anb: A & B;
|
|
var aob: A | B;
|
|
var cnd: C & D;
|
|
var cod: C | D;
|
|
var x: A & B | C & D;
|
|
var y: (A | B) & (C | D);
|
|
|
|
a = anb; // Ok
|
|
b = anb; // Ok
|
|
anb = a;
|
|
~~~
|
|
!!! error TS2322: Type 'A' is not assignable to type 'A & B'.
|
|
!!! error TS2322: Property 'b' is missing in type 'A' but required in type 'B'.
|
|
!!! related TS2728 tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts:2:15: 'b' is declared here.
|
|
anb = b;
|
|
~~~
|
|
!!! error TS2322: Type 'B' is not assignable to type 'A & B'.
|
|
!!! error TS2322: Property 'a' is missing in type 'B' but required in type 'A'.
|
|
!!! related TS2728 tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts:1:15: 'a' is declared here.
|
|
|
|
x = anb; // Ok
|
|
x = aob;
|
|
~
|
|
!!! error TS2322: Type 'A | B' is not assignable to type '(A & B) | (C & D)'.
|
|
!!! error TS2322: Type 'A' is not assignable to type '(A & B) | (C & D)'.
|
|
!!! error TS2322: Type 'A' is not assignable to type 'A & B'.
|
|
x = cnd; // Ok
|
|
x = cod;
|
|
~
|
|
!!! error TS2322: Type 'C | D' is not assignable to type '(A & B) | (C & D)'.
|
|
!!! error TS2322: Type 'C' is not assignable to type '(A & B) | (C & D)'.
|
|
!!! error TS2322: Type 'C' is not assignable to type 'C & D'.
|
|
!!! error TS2322: Property 'd' is missing in type 'C' but required in type 'D'.
|
|
!!! related TS2728 tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts:4:15: 'd' is declared here.
|
|
anb = x;
|
|
~~~
|
|
!!! error TS2322: Type '(A & B) | (C & D)' is not assignable to type 'A & B'.
|
|
!!! error TS2322: Type 'C & D' is not assignable to type 'A & B'.
|
|
!!! error TS2322: Property 'a' is missing in type 'C & D' but required in type 'A'.
|
|
!!! related TS2728 tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts:1:15: 'a' is declared here.
|
|
aob = x;
|
|
~~~
|
|
!!! error TS2322: Type '(A & B) | (C & D)' is not assignable to type 'A | B'.
|
|
!!! error TS2322: Type 'C & D' is not assignable to type 'A | B'.
|
|
!!! error TS2322: Property 'b' is missing in type 'C & D' but required in type 'B'.
|
|
!!! related TS2728 tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts:2:15: 'b' is declared here.
|
|
cnd = x;
|
|
~~~
|
|
!!! error TS2322: Type '(A & B) | (C & D)' is not assignable to type 'C & D'.
|
|
!!! error TS2322: Type 'A & B' is not assignable to type 'C & D'.
|
|
!!! error TS2322: Property 'c' is missing in type 'A & B' but required in type 'C'.
|
|
!!! related TS2728 tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts:3:15: 'c' is declared here.
|
|
cod = x;
|
|
~~~
|
|
!!! error TS2322: Type '(A & B) | (C & D)' is not assignable to type 'C | D'.
|
|
!!! error TS2322: Type 'A & B' is not assignable to type 'C | D'.
|
|
!!! error TS2322: Property 'd' is missing in type 'A & B' but required in type 'D'.
|
|
!!! related TS2728 tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts:4:15: 'd' is declared here.
|
|
|
|
y = anb;
|
|
~
|
|
!!! error TS2322: Type 'A & B' is not assignable to type '(A | B) & (C | D)'.
|
|
!!! error TS2322: Type 'A & B' is not assignable to type 'B & D'.
|
|
!!! error TS2322: Property 'd' is missing in type 'A & B' but required in type 'D'.
|
|
!!! related TS2728 tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts:4:15: 'd' is declared here.
|
|
y = aob;
|
|
~
|
|
!!! error TS2322: Type 'A | B' is not assignable to type '(A | B) & (C | D)'.
|
|
!!! error TS2322: Type 'A' is not assignable to type '(A | B) & (C | D)'.
|
|
!!! error TS2322: Type 'A' is not assignable to type 'A & D'.
|
|
!!! error TS2322: Property 'd' is missing in type 'A' but required in type 'D'.
|
|
!!! related TS2728 tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts:4:15: 'd' is declared here.
|
|
y = cnd;
|
|
~
|
|
!!! error TS2322: Type 'C & D' is not assignable to type '(A | B) & (C | D)'.
|
|
!!! error TS2322: Type 'C & D' is not assignable to type 'B & D'.
|
|
!!! error TS2322: Property 'b' is missing in type 'C & D' but required in type 'B'.
|
|
!!! related TS2728 tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts:2:15: 'b' is declared here.
|
|
y = cod;
|
|
~
|
|
!!! error TS2322: Type 'C | D' is not assignable to type '(A | B) & (C | D)'.
|
|
!!! error TS2322: Type 'C' is not assignable to type '(A | B) & (C | D)'.
|
|
!!! error TS2322: Type 'C' is not assignable to type 'B & C'.
|
|
!!! error TS2322: Property 'b' is missing in type 'C' but required in type 'B'.
|
|
!!! related TS2728 tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts:2:15: 'b' is declared here.
|
|
anb = y;
|
|
~~~
|
|
!!! error TS2322: Type '(A | B) & (C | D)' is not assignable to type 'A & B'.
|
|
!!! error TS2322: Type 'A & C' is not assignable to type 'A & B'.
|
|
!!! error TS2322: Property 'b' is missing in type 'A & C' but required in type 'B'.
|
|
!!! related TS2728 tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts:2:15: 'b' is declared here.
|
|
aob = y; // Ok
|
|
cnd = y;
|
|
~~~
|
|
!!! error TS2322: Type '(A | B) & (C | D)' is not assignable to type 'C & D'.
|
|
!!! error TS2322: Type 'A & C' is not assignable to type 'C & D'.
|
|
!!! error TS2322: Property 'd' is missing in type 'A & C' but required in type 'D'.
|
|
!!! related TS2728 tests/cases/conformance/types/intersection/intersectionAndUnionTypes.ts:4:15: 'd' is declared here.
|
|
cod = y; // Ok
|
|
|