1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
tests/cases/compiler/namespaceDisambiguationInUnion.ts(10,7): error TS2322: Type '{ type: string; }' is not assignable to type 'Foo.Yep | Bar.Yep'.
Type '{ type: string; }' is not assignable to type 'Yep'.
Types of property 'type' are incompatible.
Type 'string' is not assignable to type '"bar.yep"'.
tests/cases/compiler/namespaceDisambiguationInUnion.ts(13,7): error TS2322: Type '{ type: string; }[]' is not assignable to type '[Foo.Yep, Bar.Yep]'.
Target requires 2 element(s) but source may have fewer.
==== tests/cases/compiler/namespaceDisambiguationInUnion.ts (2 errors) ====
namespace Foo {
export type Yep = { type: "foo.yep" };
}
namespace Bar {
export type Yep = { type: "bar.yep" };
}
const x = { type: "wat.nup" };
const val1: Foo.Yep | Bar.Yep = x;
~~~~
!!! error TS2322: Type '{ type: string; }' is not assignable to type 'Foo.Yep | Bar.Yep'.
!!! error TS2322: Type '{ type: string; }' is not assignable to type 'Yep'.
!!! error TS2322: Types of property 'type' are incompatible.
!!! error TS2322: Type 'string' is not assignable to type '"bar.yep"'.
const y = [{ type: "a" }, { type: "b" }];
const val2: [Foo.Yep, Bar.Yep] = y;
~~~~
!!! error TS2322: Type '{ type: string; }[]' is not assignable to type '[Foo.Yep, Bar.Yep]'.
!!! error TS2322: Target requires 2 element(s) but source may have fewer.
|