https://issues.dlang.org/show_bug.cgi?id=17996
Issue ID: 17996 Summary: [Reg 2.077] getopt fails to recognize argument Product: D Version: D2 Hardware: x86 OS: FreeBSD Status: NEW Severity: regression Priority: P3 Component: phobos Assignee: nob...@puremagic.com Reporter: c...@dawg.eu cat > bug.d << CODE import std.getopt; void main(string[] args) { string extras; getopt(args, "extras", &extras); } CODE dmd bug ./bug --extras=foobar ========== std.getopt.GetOptException@/home/vagrant/dlang/dmd-2.077.0/freebsd/bin32/../../src/phobos/std/getopt.d(789): Unrecognized option --extras=foobar ---------------- ??:? @safe void std.getopt.getoptImpl!().getoptImpl(ref immutable(char)[][], ref std.getopt.configuration, ref std.getopt.GetoptResult, ref std.getopt.GetOptException, void[][immutable(char)[]], void[][immutable(char)[]]) [0x807b950] ??:? @safe void std.getopt.getoptImpl!(immutable(char)[], immutable(char)[]*).getoptImpl(ref immutable(char)[][], ref std.getopt.configuration, ref std.getopt.GetoptResult, ref std.getopt.GetOptException, void[][immutable(char)[]], void[][immutable(char)[]], immutable(char)[], immutable(char)[]*) [0x8079eed] ??:? @safe std.getopt.GetoptResult std.getopt.getopt!(immutable(char)[], immutable(char)[]*).getopt(ref immutable(char)[][], immutable(char)[], immutable(char)[]*) [0x8079942] ??:? _Dmain [0x80798db] ========== I've debugged this until a failing optMatch call with seemingly correct arguments. https://github.com/dlang/phobos/blob/7a2732e4b06d6684a717a756c20e271e9ede2812/std/getopt.d#L842 When converting optMatch to a template the bug goes away, so it might be some incompatibilities with the pre-compiled binary function shipped with phobos-2.077.0. --