https://issues.dlang.org/show_bug.cgi?id=15831
--- Comment #11 from Steven Schveighoffer <schvei...@yahoo.com> --- (In reply to Rainer Schuetze from comment #10) > The PR fails because it seems there are some issues with building shared > libraries. This is something I can't really help, but maybe we can enlist some experts from the forums. > In addition, a number of compiler tests and unittests check the > current mangling explicitely, so these have to be adjusted. I'm not sure how > useful these tests are, maybe they should check the mangle-demangle pair > instead. Since the mangling is part of the ABI, I think it's valid to check for them. Perhaps what we need is a versioned-out version that checks for your expected mangling, and then when we "flip the switch" we can switch to that version. > Unfortunately, changing the mangling is a not-so-small breaking change that > affects a number of functions in druntime and phobos (e.g. demangle, > core.internal.traits.externDFunc and std.traits.mangledName) that don't have > a feasable replacement yet (my best guess is to add some __trait). Again, we should use versioned code. The D compiler can define whether the new mangling scheme is enabled or not. > It's also possible that people have taken advantage of the current mangling > in their code. This is something we can't really help. However, I highly doubt that anyone is taking advantage of giant voldemort symbol names. Mangling is something I doubt we can deprecate. However, their code could employ the version scheme to at least avoid expectations that won't be met. > In addition, we should verify a new mangling addresses reported ambiguities > of the existing mangling. Links? (In reply to ZombineDev from comment #9) > Thanks, Rainer! That's really great. +100, this is awesome work! --