May 10, 2009
Currently, using std.getopt will result in a RangeError if parameters are improperly omitted on the command line.  Since this is a reasonable user-error, it does not seem like something to crash on during release.

The problem is here:

            if (!isDelegateWithLessThanTwoParameters && !val && !incremental) {
                // eat the next argument too
                val = args[i];
                args = args[0 .. i] ~ args[i + 1 .. $];
            }

It just needs a check to see if args.length is high enough for this to happen.  And the documentation should note the exception it throws; currently it says only a ConvError is thrown.

-[Unknown]