|
Archives
D Programming
digitalmars.Ddigitalmars.D.bugs digitalmars.D.dtl digitalmars.D.ide digitalmars.D.dwt digitalmars.D.announce digitalmars.D.learn digitalmars.D.debugger D.gnu D C/C++ Programming
c++c++.announce c++.atl c++.beta c++.chat c++.command-line c++.dos c++.dos.16-bits c++.dos.32-bits c++.idde c++.mfc c++.rtl c++.stl c++.stl.hp c++.stl.port c++.stl.sgi c++.stlsoft c++.windows c++.windows.16-bits c++.windows.32-bits c++.wxwindows digitalmars.empire digitalmars.DMDScript electronics |
digitalmars.D.bugs - [Issue 3085] New: Cannot index tuple in declaration
http://d.puremagic.com/issues/show_bug.cgi?id=3085 Summary: Cannot index tuple in declaration Product: D Version: 2.030 Platform: x86 OS/Version: All Status: NEW Keywords: patch, spec Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: rsinfu gmail.com Created an attachment (id=400) --> (http://d.puremagic.com/issues/attachment.cgi?id=400) Patch (DMD 2.030) The current declaration syntax does not handle a qualified type with an intermediate segment which does tuple indexing. For example, the following does not compile: -------------------- import std.typetuple; template Trait(alias v) { alias typeof(v) Type; } alias TypeTuple!(Trait!(42)) List; List[0].Type var; // -> "no identifier for declarator List[0]" -------------------- The compiler cannot parse "List[0].Type" as a type. The attached patch enables the compiler to handle such intermediate tuple indexing with a slight change to the BasicType2 syntax: -------------------- BasicType2: * [ ] [ Expression ] [ Expression .. Expression ] [ Type ] delegate Parameters FunctionAttributes_opt function Parameters FunctionAttributes_opt . IdentifierList // !! Add this -------------------- -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- Jun 19 2009
|