[Bug 25590] New: Off-by-one in 3.2.6 effective overload set algorithm

https://www.w3.org/Bugs/Public/show_bug.cgi?id=25590

            Bug ID: 25590
           Summary: Off-by-one in 3.2.6 effective  overload set algorithm
           Product: WebAppsWG
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: WebIDL
          Assignee: cam@mcc.id.au
          Reporter: jsbell@google.com
        QA Contact: public-webapps-bugzilla@w3.org
                CC: mike@w3.org, public-script-coord@w3.org

In the "how to compute an effective overload set" algorithm:

7. While i ≥ 0:
   1. If argument i of X is not optional, then break this loop.
   2. Otherwise, add to S the tuple <X, t0..i−1, o0..i−1>.
   3. Set i to i−1.
8. If n > 0 and all arguments of X are optional, then add to S the tuple <X,
(), ()> (where “()” represents the empty list).

In the loop at step (7), if i == 0, then in (7.2) either the syntax  <X,
t0..i-1, o0..i-1> is referencing negative indexes *or* this is adding <X, (),
()> to S, which is redundant with step (8).

I believe this was introduced in:

https://github.com/heycam/webidl/commit/97499d48855a9f9012fe145d49b83ccd71d1738b#diff-1feda49b40370635faef8b655f144f64L3228

... where the previous version required 0 < i < n.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Received on Wednesday, 7 May 2014 17:06:11 UTC