TypeScript/tests/cases/compiler/indirectTypeParameterReferences.ts
2017-10-11 16:03:15 -07:00

30 lines
529 B
TypeScript

// Repro from #19043
type B = {b: string}
const flowtypes = <A>(b: B) => {
type Combined = A & B
const combined = (fn: (combined: Combined) => void) => null
const literal = (fn: (aPlusB: A & B) => void) => null
return {combined, literal}
}
const {combined, literal} = flowtypes<{a: string}>({b: 'b-value'})
literal(aPlusB => {
aPlusB.b
aPlusB.a
})
combined(comb => {
comb.b
comb.a
})
// Repro from #19091
declare function f<T>(a: T): { a: typeof a };
let n: number = f(2).a;