tests/cases/conformance/jsx/file.tsx(20,15): error TS2322: Type '{ a: number; b: string; }' is not assignable to type 'IntrinsicAttributes & Prop'.
  Type '{ a: number; b: string; }' is not assignable to type 'Prop'.
    Property 'children' is missing in type '{ a: number; b: string; }'.
tests/cases/conformance/jsx/file.tsx(24,11): error TS2322: Type '{ children: Element; a: number; b: string; }' is not assignable to type 'IntrinsicAttributes & Prop'.
  Type '{ children: Element; a: number; b: string; }' is not assignable to type 'Prop'.
    Types of property 'children' are incompatible.
      Type 'Element' is not assignable to type 'Button'.
        Property 'render' is missing in type 'Element'.
tests/cases/conformance/jsx/file.tsx(28,11): error TS2322: Type '{ children: typeof Button; a: number; b: string; }' is not assignable to type 'IntrinsicAttributes & Prop'.
  Type '{ children: typeof Button; a: number; b: string; }' is not assignable to type 'Prop'.
    Types of property 'children' are incompatible.
      Type 'typeof Button' is not assignable to type 'Button'.
        Property 'render' is missing in type 'typeof Button'.


==== 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 TS2322: Type '{ a: number; b: string; }' is not assignable to type 'IntrinsicAttributes & Prop'.
!!! error TS2322:   Type '{ a: number; b: string; }' is not assignable to type 'Prop'.
!!! error TS2322:     Property 'children' is missing in type '{ a: number; b: string; }'.
    
    // 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 'IntrinsicAttributes & Prop'.
!!! 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 not assignable to type 'Button'.
!!! error TS2322:         Property 'render' is missing in type 'Element'.
            <Button />
        </Comp>;
    let k2 =
        <Comp a={10} b="hi">
              ~~~~~~~~~~~~~
!!! error TS2322: Type '{ children: typeof Button; a: number; b: string; }' is not assignable to type 'IntrinsicAttributes & Prop'.
!!! 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 not assignable to type 'Button'.
!!! error TS2322:         Property 'render' is missing in type 'typeof Button'.
            {Button}
        </Comp>;