Bug 16182 – std.traits.fullyQualifiedName Bug

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P1
Component
phobos
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2016-06-18T16:25:00Z
Last change time
2016-12-27T13:56:08Z
Assigned to
nobody
Creator
puneet

Comments

Comment #0 by puneet — 2016-06-18T16:25:06Z
Reduced Code: import std.traits; class Parent(T) { static class Child {} } pragma(msg, fullyQualifiedName!(Parent!(int[]).Child));
Comment #1 by puneet — 2016-06-18T17:38:45Z
I have created a PR https://github.com/dlang/phobos/pull/4437 Can someone explain to me how exactly the PR fixes the bug? I believe there is something strange happening under the hood. Perhaps a deeper bug??
Comment #2 by ag0aep6g — 2016-06-18T21:17:13Z
Reduced to a compiler bug: issue 16183.
Comment #3 by github-bugzilla — 2016-07-29T13:40:43Z
Commits pushed to master at https://github.com/dlang/phobos https://github.com/dlang/phobos/commit/59df244abb8296089285c14935c498d624bc5890 Fix for issue 16182 https://issues.dlang.org/show_bug.cgi?id=16182 It is beyond my comprension as to why this irrelevant change helps fixes #16182. I believe there is something amiss becuase expression fqnSym!(__traits(parent, T)) ~ '.' is returning a char[] while fqnSym!(__traits(parent, T)) ~ "." returns a string. This while expression fqnSym!(__traits(parent, T)) returns a string. https://github.com/dlang/phobos/commit/f75eeb596d44544e98a23ee1fd0b60f9ae8b0956 Merge pull request #4437 from puneet/master Fix for for issue 16182 - std.traits.fullyQualifiedName Bug
Comment #4 by github-bugzilla — 2016-10-01T11:45:39Z
Comment #5 by greeenify — 2016-12-27T13:56:08Z
The PR was merged, but the commit message syntax included an invalid "for" between "issue" and the number, so the bot didn't close it -> closing now