On 5/11/2015 7:04 AM, Martin Nowak wrote:
On Monday, 11 May 2015 at 09:33:42 UTC, weaselcat wrote:
here's a single symbol from my project

The underlying problem is that symbols names grow quadratically when combining
templated ranges, because each range's name is a template argument to the next
range. Sometimes name occur twice, as template argument and return type.
An obvious solution to the problem is to adopt a compression scheme similar to
C++ mangling on Windows.
https://github.com/D-Programming-Language/dmd/blob/c392c80c2f04a56701fed3a61a5c4df4571a3573/src/cppmangle.c#L1712


This is a well known and important problem but has a lower priority than many
other issues. You can help to solve it by opening a bugzilla issue (might
already exist) and finding out how to integrate such a backreference compression
with D's current mangling.

http://dlang.org/abi.html#MangledName

D already does (for Win32) a generic compression on names. It works a lot better than poorly reinventing compression - it's far less complex, less buggy, easier to implement, etc.

I'd support adding a Win32-like compressor. The change I'd make is having it only use identifier characters for the compressed result.

Reply via email to