Issue 16182 - std.traits.fullyQualifiedName Bug
Summary: std.traits.fullyQualifiedName Bug
Status: RESOLVED FIXED
Alias: None
Product: D
Classification: Unclassified
Component: phobos (show other issues)
Version: D2
Hardware: x86_64 Linux
: P1 normal
Assignee: No Owner
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-06-18 16:25 UTC by Puneet Goel
Modified: 2016-12-27 13:56 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Puneet Goel 2016-06-18 16:25:06 UTC
Reduced Code:

import std.traits;

class Parent(T) {
  static class Child {}
}

pragma(msg, fullyQualifiedName!(Parent!(int[]).Child));
Comment 1 Puneet Goel 2016-06-18 17:38:45 UTC
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 ag0aep6g 2016-06-18 21:17:13 UTC
Reduced to a compiler bug: issue 16183.
Comment 3 github-bugzilla 2016-07-29 13:40:43 UTC
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 5 Seb 2016-12-27 13:56:08 UTC
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