[Issue 15831] IFTI voldemort type exploding bloat
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Fri May 20 06:04:22 PDT 2016
https://issues.dlang.org/show_bug.cgi?id=15831
Rainer Schuetze <r.sagitario at gmx.de> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |r.sagitario at gmx.de
--- Comment #4 from Rainer Schuetze <r.sagitario at gmx.de> ---
I tried to untangle the name of the 1.s.s.s.s.s case. Replacing testexpansion
with E, I get
E.s!(E.s!(E.s!(E.s!(E.s!(int).s(int).Result)
.s (E.s!(int).s(int).Result)
.Result)
.s (E.s!(E.s!(int).s(int).Result)
.s (E.s!(int).s(int).Result)
.Result)
.Result)
.s (E.s!(E.s!(E.s!(int).s(int).Result)
.s (E.s!(int).s(int).Result)
.Result)
.s (E.s!(E.s!(int).s(int).Result)
.s (E.s!(int).s(int).Result)
.Result)
.Result)
.Result)
.s (E.s!(E.s!(E.s!(E.s!(int).s(int).Result)
.s (E.s!(int).s(int).Result)
.Result)
.s (E.s!(E.s!(int).s(int).Result)
.s (E.s!(int).s(int).Result)
.Result)
.Result)
.s (E.s!(E.s!(E.s!(int).s(int).Result)
.s (E.s!(int).s(int).Result)
.Result)
.s (E.s!(E.s!(int).s(int).Result)
.s (E.s!(int).s(int).Result)
.Result)
.Result)
.Result)
.Result.foo()
Each step has a mangling of "E.s!(T).s(T).Result" with T being the template
argument.
The length explosion comes from the type being listed twice. This is not caused
by the Voldemort return type, but the eponymous template that is created by the
function template.
--
More information about the Digitalmars-d-bugs
mailing list