digitalmars.D.bugs - [Issue 2953] New: tuple.length rejected as a tuple parameter in a static foreach
- d-bugmail puremagic.com (39/39) May 08 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2953
- d-bugmail puremagic.com (31/31) Aug 11 2011 http://d.puremagic.com/issues/show_bug.cgi?id=2953
- d-bugmail puremagic.com (22/22) Aug 11 2011 http://d.puremagic.com/issues/show_bug.cgi?id=2953
- d-bugmail puremagic.com (10/10) Sep 22 2011 http://d.puremagic.com/issues/show_bug.cgi?id=2953
- d-bugmail puremagic.com (13/13) Sep 22 2011 http://d.puremagic.com/issues/show_bug.cgi?id=2953
http://d.puremagic.com/issues/show_bug.cgi?id=2953 Summary: tuple.length rejected as a tuple parameter in a static foreach Product: D Version: 1.042 Platform: PC OS/Version: Windows Status: NEW Keywords: rejects-valid Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: clugdbug yahoo.com.au This bug was created from Bug 2687. Workaround (D2), change the foreach to enum args_length = args.length; foreach( x ; Range!(args_length) ){ } --- template Tuple(T...){ alias T Tuple; } template Range(int b){ alias Tuple!(1) Range; } void foo()(){ Tuple!(int, int) args; foreach( x ; Range!(args.length) ){ } } void main(){ foo!()(); } --- ice.d(411): Error: identifier 'length' of 'args.length' is not defined ice.d(411): Error: template instance Range!(int) does not match template declara tion Range(int b) ice.d(411): Error: foreach: void is not an aggregate type ice.d(416): Error: template instance ice.foo!() error instantiating --
May 08 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2953 Ellery Newcomer <ellery-newcomer utulsa.edu> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ellery-newcomer utulsa.edu 18:51:10 PDT --- Ran into something similar a while back, but I don't think foreach has anything to do with it: template Sequenced(){ template Inner(ThisNode, Value, size_t N){ } } struct IndexedBy(L...) { alias L List; } class MIC(IndexedBy){ alias int ThisNode; void _RemoveAllBut(size_t N)(ThisNode* node){ } /// disattach node from all indeces. alias _RemoveAllBut!(IndexedBy.List.length) _RemoveAll; } void main(){ alias MIC!(IndexedBy!(Sequenced!())) C; } yields 1 error message: Error: identifier 'length' of 'IndexedBy.List.length' is not defined -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 11 2011
http://d.puremagic.com/issues/show_bug.cgi?id=2953 Reduced form of the test case in comment 1: --------- template Sequenced() {} struct IndexedBy(L...) { alias L List; } struct MIC(F){ int[F.List.length] w; } alias MIC!( IndexedBy!(Sequenced!()) ) C; ---------- test3.d(14): Error: identifier 'length' of 'F.List.length' is not defined test3.d(17): Error: template instance test3.MIC!(IndexedBy!(__T9SequencedZ)) err or instantiating Looks like a failure to resolve aliases, for a template which is a member of a tuple. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 11 2011
http://d.puremagic.com/issues/show_bug.cgi?id=2953 Kenji Hara <k.hara.pg gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch https://github.com/D-Programming-Language/dmd/pull/407 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 22 2011
http://d.puremagic.com/issues/show_bug.cgi?id=2953 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla digitalmars.com Resolution| |FIXED 15:01:39 PDT --- https://github.com/D-Programming-Language/dmd/commit/3df93ae2529bc71c65aecdd819d91428a21d7185 https://github.com/D-Programming-Language/dmd/commit/0cd550b4d4655259ac69a676908e702d65cdc94f -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 22 2011