michael@0: function C(a, b) { michael@0: this.a = a; michael@0: this.b = b; michael@0: } michael@0: var f = C.bind(null, 2); michael@0: Object.defineProperty(f, "prototype", {get: function () { throw "FAIL"; }}); michael@0: var x; michael@0: for (var i = 0; i < 10; i++) michael@0: x = new f(i); michael@0: assertEq(toString.call(x), "[object Object]"); michael@0: assertEq(Object.getPrototypeOf(x), C.prototype); michael@0: assertEq(x.a, 2); michael@0: assertEq(x.b, 9);