digitalmars.D.bugs - [Issue 19406] New: -allinst -unittest link failure when importing
- d-bugmail puremagic.com (92/92) Nov 16 2018 https://issues.dlang.org/show_bug.cgi?id=19406
https://issues.dlang.org/show_bug.cgi?id=19406 Issue ID: 19406 Summary: -allinst -unittest link failure when importing std.path Product: D Version: D2 Hardware: All OS: All Status: NEW Keywords: link-failure Severity: regression Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: dlang-bugzilla thecybershadow.net //// test.d //// import std.path; //////////////// $ dmd -main -unittest -allinst test.d 2>&1 | ddemangle /usr/sbin/ld: test.o: in function `pure nothrow nogc safe void std.range.primitives.doPut!(std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, char).doPut(ref std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, char)': __main.d:(.text.pure nothrow nogc safe void std.range.primitives.doPut!(std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, char).doPut(ref std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, char)[pure nothrow nogc safe void std.range.primitives.doPut!(std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, char).doPut(ref std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, char)]+0x14): undefined reference to `pure nothrow nogc safe void std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S.put(char)' /usr/sbin/ld: test.o: in function `pure nothrow nogc safe void std.range.primitives.doPut!(std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, char).doPut(ref std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, ref char)': __main.d:(.text.pure nothrow nogc safe void std.range.primitives.doPut!(std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, char).doPut(ref std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, ref char)[pure nothrow nogc safe void std.range.primitives.doPut!(std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, char).doPut(ref std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, ref char)]+0x14): undefined reference to `pure nothrow nogc safe void std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S.put(char)' /usr/sbin/ld: test.o: in function `pure nothrow nogc safe void std.range.primitives.doPut!(std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, immutable(char)).doPut(ref std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, ref immutable(char))': __main.d:(.text.pure nothrow nogc safe void std.range.primitives.doPut!(std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, immutable(char)).doPut(ref std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, ref immutable(char))[pure nothrow nogc safe void std.range.primitives.doPut!(std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, immutable(char)).doPut(ref std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, ref immutable(char))]+0x14): undefined reference to `pure nothrow nogc safe void std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S.put(char)' /usr/sbin/ld: test.o: in function `pure nothrow nogc safe void std.range.primitives.doPut!(std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, const(char)).doPut(ref std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, ref const(char))': __main.d:(.text.pure nothrow nogc safe void std.range.primitives.doPut!(std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, const(char)).doPut(ref std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, ref const(char))[pure nothrow nogc safe void std.range.primitives.doPut!(std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, const(char)).doPut(ref std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S, ref const(char))]+0x14): undefined reference to `pure nothrow nogc safe void std.format.hasToString!(std.uni.InversionList!(std.uni.GcPolicy).InversionList, char).__lambda1().S.put(char)' collect2: error: ld returned 1 exit status Error: linker exited with status 1 Looks like a DMD bug, bug started happening with std.path since https://github.com/dlang/phobos/pull/5991 . --
Nov 16 2018