Closed
Description
TypeScript Version: 3.4.0-dev.20190202
Search Terms:
- assignment expression
- RHS infer
Code
class Test {
foo?: Map<object, string>
getFoo(obj: object) {
// "foo" is inferred as "Map<any, any>" instead of "Map<object, string>"
const foo = this.foo || (this.foo = new Map())
foo.set(obj, 1) // No error!
}
}
Expected behavior: Infer foo
to be Map<object, string>
Actual behavior: Infers foo
to be Map<any, any>
Playground Link: Click here
Related Issues: Maybe #7782