Mercurial > projects > ldc
view tests/mini/tupleval.d @ 1419:a6dfd3cb5b99 0.9.1
Error instead of assert on delegate literals as constant expressions.
Make function literal linkage internal inside functions and external otherwise.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Wed, 27 May 2009 19:20:18 +0200 |
parents | 8d850fa25713 |
children |
line wrap: on
line source
module foo; template ParameterTupleOf( Fn ) { static if( is( Fn Params == function ) ) alias Params ParameterTupleOf; else static if( is( Fn Params == delegate ) ) alias ParameterTupleOf!(Params) ParameterTupleOf; else static if( is( Fn Params == Params* ) ) alias ParameterTupleOf!(Params) ParameterTupleOf; else static assert( false, "Argument has no parameters." ); } struct S { int opApply(T)(T dg) { alias ParameterTupleOf!(T) U; U u; u[0] = 1; u[1] = 2; return 0; } } void main() { foreach(int x, int y; S()){} }