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 32 33 34 35 36 37 38 39 40 41 42 43
|
tests/cases/compiler/jsxEmptyExpressionNotCountedAsChild2.tsx(28,2): error TS2322: Type '{ __children__: never[]; }' is not assignable to type '{ bar?: number | undefined; } & { __children__: () => number; }'.
Type '{ __children__: never[]; }' is not assignable to type '{ __children__: () => number; }'.
Types of property '__children__' are incompatible.
Type 'never[]' is not assignable to type '() => number'.
Type 'never[]' provides no match for the signature '(): number'.
==== tests/cases/compiler/jsxEmptyExpressionNotCountedAsChild2.tsx (1 errors) ====
// repro from #38108
export {}
declare global {
namespace JSX {
type Element = any;
interface ElementAttributesProperty {
__properties__: {};
}
interface IntrinsicElements {
[key: string]: string;
}
interface ElementChildrenAttribute {
__children__: {};
}
}
}
interface MockComponentInterface {
new (): {
__properties__: { bar?: number } & { __children__: () => number };
};
}
declare const MockComponent: MockComponentInterface;
<MockComponent>{}</MockComponent>; // error
~~~~~~~~~~~~~
!!! error TS2322: Type '{ __children__: never[]; }' is not assignable to type '{ bar?: number | undefined; } & { __children__: () => number; }'.
!!! error TS2322: Type '{ __children__: never[]; }' is not assignable to type '{ __children__: () => number; }'.
!!! error TS2322: Types of property '__children__' are incompatible.
!!! error TS2322: Type 'never[]' is not assignable to type '() => number'.
!!! error TS2322: Type 'never[]' provides no match for the signature '(): number'.
|