> The way template are mangled in super redundant. Are you referring to the way that a template name is repeated twice in its mangled representation ? eg: template ABC(T){struct ABC{}} writeln(ABC!int.mangleof); // S5tests18main10__T3ABCTiZ3ABC => corresponding to ABC!(int).ABC How would we distinguish such cases (eponymous templates) from non-eponymous ones: template ABC(T){struct a1{} struct a2} here we need: ABC!(int).a1 and ABC!(int).a2. Maybe these 2 cases should be distinguished.
On Mon, May 27, 2013 at 11:22 AM, deadalnix <deadal...@gmail.com> wrote: > On Monday, 27 May 2013 at 18:14:59 UTC, Peter Alexander wrote: > >> On Monday, 27 May 2013 at 16:18:34 UTC, David Nadlinger wrote: >> >>> On Monday, 27 May 2013 at 15:22:21 UTC, Peter Alexander wrote: >>> >>>> Am I the only person that worries greatly about the length of symbols >>>> in D? >>>> >>> ——— >>> <snip> >>> ——— >>> >>> That's 13 kilobytes of data for a single symbol name! >>> >> >> The symbols typically contain a lot of repeated sub strings. Perhaps >> there is a better mangling scheme that encodes it with some kind of prefix >> tree? >> > > The way template are mangled in super redundant. This can probably be > fixed easily, but this is a breakage. >