# HG changeset patch # User Christian Kamm # Date 1257616091 -3600 # Node ID 87a6ab8f478d3f90f474cf4d4269c8a63d7bbd42 # Parent 2c10afcfcf7656f55d18331e475fe29d6c239793 Returns of non-void expressions are no longer valid in void functions. diff -r 2c10afcfcf76 -r 87a6ab8f478d compile/bug_cgcod_1445_C.d --- a/compile/bug_cgcod_1445_C.d Thu Jul 23 19:49:42 2009 +0200 +++ b/compile/bug_cgcod_1445_C.d Sat Nov 07 18:48:11 2009 +0100 @@ -10,7 +10,7 @@ static int[1][5] array = [[1],[2],[3],[4],[5] ]; -void Lookup(int which){ +int[] Lookup(int which){ switch(which){ case 0: return array[which]; diff -r 2c10afcfcf76 -r 87a6ab8f478d compile/m/main_06.d --- a/compile/m/main_06.d Thu Jul 23 19:49:42 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,12 +0,0 @@ -// $HeadURL$ -// $Date$ -// $Author$ - -// return contains an Expression and no ExpressionStatement, -// thus effectless code is legal - -module dstress.compile.m.main_06; - -void main(){ - return 0; -} diff -r 2c10afcfcf76 -r 87a6ab8f478d nocompile/m/main_06.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/m/main_06.d Sat Nov 07 18:48:11 2009 +0100 @@ -0,0 +1,12 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// the expression in a return statement of a void function +// may only have void type + +module dstress.compile.m.main_06; + +void main(){ + return 0; +} diff -r 2c10afcfcf76 -r 87a6ab8f478d run/interface_12.d --- a/run/interface_12.d Thu Jul 23 19:49:42 2009 +0200 +++ b/run/interface_12.d Sat Nov 07 18:48:11 2009 +0100 @@ -20,5 +20,5 @@ void main(){ IChild b = new MyClass(); Object o = cast(Object)b; - return 0; + return; }