# HG changeset patch # User thomask # Date 1171447768 0 # Node ID 9084482d7c1e361f71b186d2900be0524eb54a41 # Parent b34b5b54b00a0d45514a40f7b345d98929404edc [Issue 832] NRVO: return inside foreach results in junk Alan Knowles 2007-01-12 http://d.puremagic.com/issues/show_bug.cgi?id=832 diff -r b34b5b54b00a -r 9084482d7c1e reporter.txt --- a/reporter.txt Wed Feb 14 10:09:05 2007 +0000 +++ b/reporter.txt Wed Feb 14 10:09:28 2007 +0000 @@ -2,6 +2,7 @@ ahiru AJG +Alan Knowles Alberto Simon Aleksey Bobnev Alex @@ -52,6 +53,7 @@ Don Clugston downs ElfQT +Elmar Zander Eric Anderton (aka Pragma) Eugene Pelekhay Florian Sonnenberger diff -r b34b5b54b00a -r 9084482d7c1e run/s/struct_27_A.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/s/struct_27_A.d Wed Feb 14 10:09:28 2007 +0000 @@ -0,0 +1,35 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Alan Knowles +// @date@ 2007-01-12 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=832 +// @desc@ [Issue 832] NRVO: return inside foreach results in junk + +module dstress.run.s.struct_27_A; + +struct S{ + int i; + long _forec_nrvo; +} + +S first(){ + foreach(element; s){ + if(2 != element.i){ + assert(0); + } + return element; + } +} + +S[1] s; + +int main(){ + s[0].i = 2; + if(2 != first().i){ + assert(0); + } + + return 0; +}