[Issue 3085] New: Cannot index tuple in declaration
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Jun 19 22:10:00 PDT 2009
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 at puremagic.com
ReportedBy: rsinfu at 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: -------
More information about the Digitalmars-d-bugs
mailing list