<!-- BUGS: Please use this template. --> <!-- QUESTIONS: This is not a general support forum! Ask Qs at http://stackoverflow.com/questions/tagged/typescript --> <!-- SUGGESTIONS: See https://github.com/Microsoft/TypeScript-wiki/blob/master/Writing-Good-Design-Proposals.md --> <!-- Please try to reproduce the issue with `typescript@next`. It may have already been fixed. --> **TypeScript Version:** 2.6.0-dev.201xxxxx **Code** ```ts type FormattedDataProvider<T, R = {}> = { src: R, format: (item: R) => T } let a: FormattedDataProvider<string> = { src: { a: 23 }, format: v => String(v.a) } ``` **Expected behavior:** This should compile and infer that v is of type `{a: number}`. **Actual behavior:** v is inferred to the default type {}, which results in an error: error TS2339: Property 'a' does not exist on type '{}'.