Note that this is only true with noImplicitAny on. The bug does not manifest with it off.
This is a regression in 3.1. It does not manifest in 3.0.
// @noImplicitAny: true
/** @constructor */
var Multimap = function() {
this._map = {};
};
Multimap.prototype = {
x() { }
}
Multimap.prototype.lol = function() {
}
var mm = new Multimap();
mm._map
mm.x
mm.lol
Expected behavior:
No error on Multimap.prototype.lol, and _map, x and lol are properties on Multimap.
Actual behavior:
Error: 'lol' does not exist on type '{ x(): void }'. But all 3 are properties on Multimap.