TypeScript/tests/cases/compiler/indirectTypeParameterReferences.ts

30 lines
529 B
TypeScript
Raw Normal View History

2017-10-11 02:34:32 +02:00
// 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
})
2017-10-12 01:03:15 +02:00
// Repro from #19091
declare function f<T>(a: T): { a: typeof a };
let n: number = f(2).a;