# HG changeset patch # User thomask # Date 1175858903 0 # Node ID 5100b74e1aa32c71a11fbbc5fdd42e7e8ca80baf # Parent 62ef6d1867cf7ca68f2412d503dc1c30dfa30166 [Issue 938] struct with Tuple Daniel 2007-02-07 http://d.puremagic.com/issues/show_bug.cgi?id=938 diff -r 62ef6d1867cf -r 5100b74e1aa3 compile/t/tuple_21_A.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/compile/t/tuple_21_A.d Fri Apr 06 11:28:23 2007 +0000 @@ -0,0 +1,24 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Daniel +// @date@ 2007-02-07 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=938 +// @desc@ [Issue 938] struct with Tuple + +module dstress.compile.t.tuple_21_A; + +struct Tuple(A...) { + alias A Tuple; +} + +template removeSpace(char[] s, int x = 0) { + static if (s[0] == ' '){ + alias removeSpace!(s[1..$], x+1) removeSpace; + }else{ + alias Tuple!(s, x) removeSpace; + } +} + +static assert("Hello you !" == removeSpace!(" Hello you !").Tuple[0]); diff -r 62ef6d1867cf -r 5100b74e1aa3 compile/t/tuple_21_B.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/compile/t/tuple_21_B.d Fri Apr 06 11:28:23 2007 +0000 @@ -0,0 +1,20 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Daniel +// @date@ 2007-02-07 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=938 +// @desc@ [Issue 938] struct with Tuple + +module dstress.compile.t.tuple_21_B; + +template removeSpace(char[] s, int x = 0) { + static if (s[0] == ' '){ + alias removeSpace!(s[1..$], x+1) removeSpace; + }else{ + alias s removeSpace; + } +} + +static assert("Hello you !" == removeSpace!(" Hello you !"));