D.gnu - [Bug 124] New: __traits(parent, X.Y) recurs X for template struct X
- via D.gnu (33/33) May 05 2014 Date: Tue, 6 May 2014 04:48:49 +0100
Date: Tue, 6 May 2014 04:48:49 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" http://bugzilla.gdcproject.org/show_bug.cgi?id=124 Bug ID: 124 Summary: __traits(parent, X.Y) recurs X for template struct X with repeated applications of __traits(parent, ...) Product: GDC Version: development Hardware: All OS: All Status: NEW Severity: normal Priority: Normal Component: gdc Assignee: ibuclaw gdcproject.org Reporter: soltanmm gmail.com -- BEGIN CODE -- struct A(T) { static struct B {} } pragma(msg,__traits(parent,__traits(parent,__traits(parent,A!int.B)))); -- END CODE -- The resulting output is `A!int`. If this is the intended behavior of the compiler, then it is problematic for the implementation of `std.traits.fullyQualifiedName`, as the code there (line 340 of std/traits.d) ends up forward referencing itself into oblivion (and therefore making fullyQualifiedName broken for instances of the above pattern). I have a feeling it isn't intended, though. -- You are receiving this mail because: You are watching all bug changes.
May 05 2014