« Bugzilla Issues Index
#1866 — 13.1.1.2, Runtime Semantics: Binding Initialisation: No longer possible to use standard Indexed Binding Initialisation
- bug_id:
1866
- creation_ts:
2013-08-30 03:53:00 -0700
- short_desc:
13.1.1.2, Runtime Semantics: Binding Initialisation: No longer possible to use standard Indexed Binding Initialisation
- delta_ts:
2013-10-28 11:38:25 -0700
- product:
Draft for 6th Edition
- component:
technical issue
- version:
Rev 17: August 23, 2013 Draft
- rep_platform:
All
- op_sys:
All
- bug_status:
RESOLVED
- resolution:
FIXED
- priority:
Normal
- bug_severity:
normal
- everconfirmed:
true
- reporter:
André Bargull
- assigned_to:
Allen Wirfs-Brock
- commentid:
5276
- comment_count:
0
- who:
André Bargull
- bug_when:
2013-08-30 03:53:21 -0700
test case:
---
function f(a){}
f()
---
Per the current spec, this should throw a TypeError because the property "0" is not present in the arguments object.
- commentid:
5975
- comment_count:
1
- who:
Allen Wirfs-Brock
- bug_when:
2013-10-24 16:08:46 -0700
fixed in rev19
- commentid:
5976
- comment_count:
2
- who:
André Bargull
- bug_when:
2013-10-25 01:26:39 -0700
Was there an actual change for `arguments` Indexed Binding Initialisation in the next revision, or was this bug closed report b/c of the irrefutable/refutable destructuring changes which happened earlier (i.e. no TypeError thrown for missing properties)? If it's the latter, I still need to file a new ticket for access on `Object.prototype` properties:
---
Object.prototype[0] = "xxx";
function f(a){ return a }
f() === "xxx"
---
Currently returns `true` instead of `false`
- commentid:
5977
- comment_count:
3
- who:
Allen Wirfs-Brock
- bug_when:
2013-10-25 08:37:59 -0700
yes, it was the reverting the irrefutable/refutable changes that fixed the originally reported problem.
And yes, there is another problem with Object.prototype properties being visible to IndexedBindingInitialization
- commentid:
6005
- comment_count:
4
- who:
Allen Wirfs-Brock
- bug_when:
2013-10-28 11:38:25 -0700
IndexedBindingInitialization is replaced with IteratorBindingInitization in Rev20 and an iterator over a List of arguments is used, so we don't have any object property issue anymore