changeset 1346:9084482d7c1e

[Issue 832] NRVO: return inside foreach results in junk Alan Knowles <alan@akbkhome.com> 2007-01-12 http://d.puremagic.com/issues/show_bug.cgi?id=832
author thomask
date Wed, 14 Feb 2007 10:09:28 +0000
parents b34b5b54b00a
children 5dcdd1cd6a66
files reporter.txt run/s/struct_27_A.d
diffstat 2 files changed, 37 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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			<ahiru@1dk.jp>
 AJG			<AJG@nospam.com>
+Alan Knowles		<alan@akbkhome.com>
 Alberto Simon		<lugaidster@gmail.com>
 Aleksey Bobnev		<uw@front.ru>
 Alex			<CppCoder@gmail.com>
@@ -52,6 +53,7 @@
 Don Clugston		<clugdbug@yahoo.com.au>
 downs			<default_357-line@yahoo.de>
 ElfQT			<dethjunk@yahoo.com>
+Elmar Zander		<elmar@zandere.de>
 Eric Anderton (aka Pragma)	<ericanderton@yahoo.com>
 Eugene Pelekhay		<pelekhay@gmail.com>
 Florian Sonnenberger	<nairolf@online.de>
--- /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 <alan@akbkhome.com>
+// @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;
+}