// @filename: file.tsx // @jsx: preserve // @module: amd // @noLib: true // @skipLibCheck: true // @libFiles: react.d.ts,lib.d.ts import React = require('react') declare function Component(l: U): JSX.Element; function createComponent(arg: T) { let a1 = ; let a2 = ; } declare function ComponentSpecific(l: { prop: U }): JSX.Element; declare function ComponentSpecific1(l: { prop: U, "ignore-prop": number }): JSX.Element; function Bar(arg: T) { let a1 = ; // U is number let a2 = ; // U is number let a3 = ; // U is "hello" let a4 = ; // U is "hello" }