digitalmars.D.bugs - [Issue 2411] New: Reference Tuple Foreach
- d-bugmail puremagic.com (27/27) Oct 09 2008 http://d.puremagic.com/issues/show_bug.cgi?id=2411
- d-bugmail puremagic.com (10/10) Jun 02 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2411
- d-bugmail puremagic.com (10/10) Mar 07 2010 http://d.puremagic.com/issues/show_bug.cgi?id=2411
- d-bugmail puremagic.com (12/12) May 20 2010 http://d.puremagic.com/issues/show_bug.cgi?id=2411
- d-bugmail puremagic.com (10/10) Jan 01 2012 http://d.puremagic.com/issues/show_bug.cgi?id=2411
- d-bugmail puremagic.com (13/13) Jan 01 2012 http://d.puremagic.com/issues/show_bug.cgi?id=2411
- d-bugmail puremagic.com (9/26) Jan 01 2012 http://d.puremagic.com/issues/show_bug.cgi?id=2411
- d-bugmail puremagic.com (12/12) Jan 10 2012 http://d.puremagic.com/issues/show_bug.cgi?id=2411
http://d.puremagic.com/issues/show_bug.cgi?id=2411 Summary: Reference Tuple Foreach Product: D Version: 2.019 Platform: PC OS/Version: Windows Status: NEW Severity: enhancement Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: dsimcha yahoo.com Sometimes, when iterating over a tuple representation of a class or struct, I want to modify the class/struct contents. Ex: struct S { uint foo = 1; } void main() { S s; foreach(element; s.tupleof) element = 2; writeln(s.foo); //Still prints 1 } It would be nice if I could do something like: foreach(ref element; s.tupleof) and this would modify s.foo. --
Oct 09 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2411 David Simcha <dsimcha yahoo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sean invisibleduck.org --- *** Issue 3045 has been marked as a duplicate of this issue. *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 02 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2411 bearophile_hugs eml.cc changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bearophile_hugs eml.cc Bug 3835 is a partial duplicate of this (one case seems different). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 07 2010
http://d.puremagic.com/issues/show_bug.cgi?id=2411 Trass3r <mrmocool gmx.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mrmocool gmx.de This is a workaround: foreach (i, dummy ; s.tupleof) s.tupleof[i] = 2; -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 20 2010
http://d.puremagic.com/issues/show_bug.cgi?id=2411 Kenji Hara <k.hara.pg gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch https://github.com/D-Programming-Language/dmd/pull/596 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 01 2012
http://d.puremagic.com/issues/show_bug.cgi?id=2411 My patch requires explicit 'ref'. void main() { S s; // foreach( element; s.tupleof) // doesn't work foreach(ref element; s.tupleof) // OK element = 2; assert(s.foo == 2); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 01 2012
http://d.puremagic.com/issues/show_bug.cgi?id=2411My patch requires explicit 'ref'. void main() { S s; // foreach( element; s.tupleof) // doesn't work foreach(ref element; s.tupleof) // OK element = 2; assert(s.foo == 2);My patch requires explicit 'ref'. void main() { S s; // foreach( element; s.tupleof) // doesn't work foreach(ref element; s.tupleof) // OK element = 2; assert(s.foo == 2); }It seems to me like the only logical way to do this is to require explicit ref. The semantics should be the same as foreach over ranges. Nice work. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 01 2012
http://d.puremagic.com/issues/show_bug.cgi?id=2411 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla digitalmars.com Resolution| |FIXED 12:25:30 PST --- https://github.com/D-Programming-Language/dmd/commit/d3294a136cf6355442dc4e897e46334655f92f15 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 10 2012