tests/cases/conformance/jsx/file.tsx(20,10): error TS2741: Property 'children' is missing in type '{ a: number; b: string; }' but required in type 'Prop'.
tests/cases/conformance/jsx/file.tsx(24,6): error TS2322: Type '{ children: Element; a: number; b: string; }' is not assignable to type 'Prop'.
  Types of property 'children' are incompatible.
    Type 'Element' is missing the following properties from type 'Button': render, setState, forceUpdate, state, and 2 more.
tests/cases/conformance/jsx/file.tsx(28,6): error TS2322: Type '{ children: typeof Button; a: number; b: string; }' is not assignable to type 'Prop'.
  Types of property 'children' are incompatible.
    Type 'typeof Button' is missing the following properties from type 'Button': render, setState, forceUpdate, props, and 3 more.


==== tests/cases/conformance/jsx/file.tsx (3 errors) ====
    import React = require('react');
    
    interface Prop {
        a: number,
        b: string,
        children: Button;
    }
    
    class Button extends React.Component<any, any> {
        render() {
            return (<div>My Button</div>)
        }
    }
    
    function Comp(p: Prop) {
        return <div>{p.b}</div>;
    }
    
    // Error: no children specified
    let k = <Comp a={10} b="hi" />;
             ~~~~
!!! error TS2741: Property 'children' is missing in type '{ a: number; b: string; }' but required in type 'Prop'.
!!! related TS2728 tests/cases/conformance/jsx/file.tsx:6:5: 'children' is declared here.
    
    // Error: JSX.element is not the same as JSX.ElementClass
    let k1 =
        <Comp a={10} b="hi">
         ~~~~
!!! error TS2322: Type '{ children: Element; a: number; b: string; }' is not assignable to type 'Prop'.
!!! error TS2322:   Types of property 'children' are incompatible.
!!! error TS2322:     Type 'Element' is missing the following properties from type 'Button': render, setState, forceUpdate, state, and 2 more.
            <Button />
        </Comp>;
    let k2 =
        <Comp a={10} b="hi">
         ~~~~
!!! error TS2322: Type '{ children: typeof Button; a: number; b: string; }' is not assignable to type 'Prop'.
!!! error TS2322:   Types of property 'children' are incompatible.
!!! error TS2322:     Type 'typeof Button' is missing the following properties from type 'Button': render, setState, forceUpdate, props, and 3 more.
            {Button}
        </Comp>;