https://issues.dlang.org/show_bug.cgi?id=15831
--- Comment #12 from Rainer Schuetze <r.sagita...@gmx.de> --- (In reply to Steven Schveighoffer from comment #11) > 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. I started to just allow both versions in the tests, but that started to spread across a lot of files. Versioning on some condition should be ok, too. > 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. The decision cannot be made just for user code, phobos and druntime must be compiled with the same mangling. > > In addition, we should verify a new mangling addresses reported ambiguities > > of the existing mangling. > > Links? I skipped over a search for "mangling" and "mangl" in bugzilla: Trouble with scoped variables/functions: - Issue 4699 - Functions in peer scopes cannot have the same name - Issue 14831 - Each function local symbols should have unique mangled name Ambiguous name mangling: - Issue 3043 - Template symbol arg cannot be demangled - Issue 5957 - Ambiguous mangling of module and template in template symbol args - Issue 6525 - Numeric literals should always be mangled with a leading 'i' - Issue 6526 - Disambiguate mangling of AA literals - Issue 6527 - Ambiguous mangling of inout parameters - Issue 11273 - inequable template alias parameters can be mangled identically - Issue 14576 - [ddemangle] core.demangle unable to handle ambiguity in symbols Bogus mangling/demangling: - Issue 8789 - mangling of const member function - Issue 14319 - core.demangle does not support member function attributes - Issue 14563 - core.demangle: Does not demangle type modifers - Issue 10393 - demangle doesn't work for unicode symbol names - Issue 14410 - core.demangle doesn't handle typeof(null) correctly - Issue 11131 - variables without linkage shouldn't have a mangling (.mangleof) - Issue 11248 - template value parameter cause too long mangling - Issue 14894 - mangling of mixins and lambdas can change w/ -unittest or other versions Compiler generated special symbols don't follow the ABI: - Issue 5644 - The mangling of constructors is not documented by the ABI - Issue 6045 - Unable to demangle symbols - Issue 11586 - core.demangle should understand _D16TypeInfo_HAyayAa6__initZ etc. - Issue 10189 - demangle doesn't work with __ModuleInfoZ __initZ __arrayZ Different number of underscores for _D: - Issue 8207 - OS X: Should extern(D) symbols include another underscore? - Issue 15748 - inconsistent symbols generated by dmd vs ldc --