digitalmars.D.bugs - [Issue 3125] New: statement foreach semantic opApply should be tried if range funcs not satisfied
- d-bugmail puremagic.com (27/27) Jul 02 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3125
- d-bugmail puremagic.com (12/12) Jul 02 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3125
- d-bugmail puremagic.com (6/6) Jul 02 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3125
- d-bugmail puremagic.com (10/10) Jul 02 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3125
- d-bugmail puremagic.com (29/29) Jul 02 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3125
- d-bugmail puremagic.com (15/44) Jul 02 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3125
- d-bugmail puremagic.com (12/12) Jul 03 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3125
- d-bugmail puremagic.com (10/10) Jul 03 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3125
http://d.puremagic.com/issues/show_bug.cgi?id=3125 Summary: statement foreach semantic opApply should be tried if range funcs not satisfied Product: D Version: 2.028 Platform: Other OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: davidl 126.com in ForeachStatement::semantic should be: Dsymbol *shead = search_function(ad, idhead); if (!shead || !search_function(ad, idnext) || !search_function(ad, Id::Fempty) ) goto Lapply; only try to apply range semantic when all prerequisite func available. This makes easier to port legacy code to d2. People won't try to figure why it tries to call the func called empty/next which doesn't provided in my aggregate however the func named head had been accidentally added. This could block tango CircularList -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 02 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3125 why not create something like IUnknown? e.g. IRange all classes inherited from IRange get the tag of being a range class. This is less hackish of testting funcs. IRange can enforces users to provide those funcs. If there're some problems for optimization, IRange can still be an empty interface for hinting the compiler or treated specially. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 02 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3125 PDT --- There was a discussion on introducing concepts to D. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 02 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3125 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bugzilla digitalmars.com 17:47:19 PDT --- I need an example, please, as I can't reproduce the problem. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 02 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3125 Here it is: class c { int head() { return 0; } int opApply(int delegate(ref int x) dg) { int i; i=3; dg(i); return 1; } } void main() { c c; c= new c; foreach(m;c) { assert(m==3); } } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 02 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3125 Jarrett Billingsley <jarrett.billingsley gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jarrett.billingsley gmail.c | |om 2009-07-02 20:37:27 PDT ---Here it is: class c { int head() { return 0; } int opApply(int delegate(ref int x) dg) { int i; i=3; dg(i); return 1; } } void main() { c c; c= new c; foreach(m;c) { assert(m==3); } }You fail it. The error from this code is not related to the reported bug at all. The linesc c; c= new c;are illegal. If you change it toc c = new c;it works fine in 2.029. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 02 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3125 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WORKSFORME 00:55:17 PDT --- I'll close this for now as "WORKSFORME". Please reopen if there's a reproducible test case. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 03 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3125 Koroskin Denis <2korden gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |2korden gmail.com --- Perhaps, it is a duplicate of issue 2984 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 03 2009