digitalmars.D.bugs - [Issue 15496] New: Documentation about special/'__' symbols
- via Digitalmars-d-bugs (34/34) Jan 01 2016 https://issues.dlang.org/show_bug.cgi?id=15496
https://issues.dlang.org/show_bug.cgi?id=15496 Issue ID: 15496 Summary: Documentation about special/'__' symbols Product: D Version: D2 Hardware: x86_64 OS: Windows Status: NEW Severity: enhancement Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: turkeyman gmail.com DMD emit's a lot of special/magic symbols. In my current case, I'm piles of link errors like: error LNK2001: unresolved external symbol _D5libep6string12SharedString14__aggrPostblitMFNbNiZv error LNK2001: unresolved external symbol _D5libep6string12SharedString11__fieldDtorMFNbNiZv error LNK2001: unresolved external symbol _D5libep6string12SharedString15__fieldPostblitMFNbNiZv I don't know why, and I have no idea what those functions are supposed to do, or what actual functions those special names represent? Are they all compiler generated, or are they something that I'm supposed to write? There seems to be a massive suite of '__x' functions; I'd like to see a reference listing all possible such symbols that users may encounter, and explain what they are, and how they are written or generated. This isn't the first time I've wondered about the many '__' functions. The only reference that seems to exist are various hacks in phobos where there is code that occasionally checks if they exist to determine some sort of traits. This doc should ideally also include ClassInfo and any other magic symbols that exist. --
Jan 01 2016