// @filename: file.tsx // @jsx: preserve // @module: amd // @noLib: true // @skipLibCheck: true // @libFiles: react.d.ts,lib.d.ts import React = require('react') declare function ComponentWithTwoAttributes(l: {key1: K, value: V}): JSX.Element; // OK function Baz(key1: T, value: U) { let a0 = let a1 = } declare function Link(l: {func: (arg: U)=>void}): JSX.Element; // OK function createLink(func: (a: number)=>void) { let o = } function createLink1(func: (a: number)=>boolean) { let o = } interface InferParamProp { values: Array; selectHandler: (selectedVal: T) => void; } declare function InferParamComponent(attr: InferParamProp): JSX.Element; // OK let i = { }} />;