tests/cases/conformance/jsx/file.tsx(19,23): error TS2326: Types of property 'x' are incompatible.
  Type '3' is not assignable to type '2'.
tests/cases/conformance/jsx/file.tsx(20,25): error TS2326: Types of property 'x' are incompatible.
  Type 'string' is not assignable to type '2'.
tests/cases/conformance/jsx/file.tsx(21,25): error TS2326: Types of property 'x' are incompatible.
  Type '3' is not assignable to type '2'.
tests/cases/conformance/jsx/file.tsx(22,15): error TS2326: Types of property 'x' are incompatible.
  Type 'true' is not assignable to type '2'.


==== tests/cases/conformance/jsx/file.tsx (4 errors) ====
    import React = require('react');
    
    interface OptionProp {
        x?: 2
    }
    
    class Opt extends React.Component<OptionProp, {}> {
        render() {
            return <div>Hello</div>;
        }
    }
    
    const obj: OptionProp = {};
    const obj1: OptionProp = {
        x: 2
    }
    
    // Error
    let y = <Opt {...obj} x={3}/>;
                          ~~~~~
!!! error TS2326: Types of property 'x' are incompatible.
!!! error TS2326:   Type '3' is not assignable to type '2'.
    let y1 = <Opt {...obj1} x="Hi"/>;
                            ~~~~~~
!!! error TS2326: Types of property 'x' are incompatible.
!!! error TS2326:   Type 'string' is not assignable to type '2'.
    let y2 = <Opt {...obj1} x={3}/>;
                            ~~~~~
!!! error TS2326: Types of property 'x' are incompatible.
!!! error TS2326:   Type '3' is not assignable to type '2'.
    let y3 = <Opt x />;
                  ~
!!! error TS2326: Types of property 'x' are incompatible.
!!! error TS2326:   Type 'true' is not assignable to type '2'.
    