Bug 14067 – template parameters of enum type in DDoc are broken

Status
RESOLVED
Resolution
DUPLICATE
Severity
normal
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2015-01-28T13:21:48Z
Last change time
2020-10-10T00:11:11Z
Keywords
ddoc
Assigned to
No Owner
Creator
sinkuupump

Comments

Comment #0 by sinkuupump — 2015-01-28T13:21:48Z
# Code: enum E { a } void fun(E e)() { } /// alias FA = fun!(E.a); struct S(E e) {} /// alias SA = S!(E.a); // stringof property static assert(S!(E.a).stringof == "S!(E.a)"); // fail - stringof is "S!cast(E)0" # Output of `dmd -D`: alias FA = fun!cast(E)0.fun; alias SA = S!cast(E)0.S; Expected result is "fun!(E.a).fun". At least it should be "fun!(cast(E)0).fun" std.experimental.logger documentation is broken due to this bug. eg. http://dlang.org/phobos-prerelease/std_experimental_logger_core.html#.trace alias trace = defaultLogFunction!cast(LogLevel)cast(ubyte)32u.defaultLogFunction( /* ... */ );
Comment #1 by pro.mathias.lang — 2020-10-10T00:11:11Z
Nice find. Yes the formatting is utterly broken. Technically, this is a duplicate of 8044, for which I just opened a PR for. *** This issue has been marked as a duplicate of issue 8044 ***