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: nob...@puremagic.com ReportedBy: rsi...@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: -------