| alias tuple(T...) = T; |
| |
| void exactMatch() |
| { |
| tuple!int tup_1; |
| |
| auto i = cast() tup_1; |
| static assert(is(typeof(i) == int)); |
| const i_const = cast(const) tup_1; |
| static assert(is(typeof(i_const) == const int)); |
| |
| auto totup_1 = cast(tuple!int) tup_1; |
| static assert(is(typeof(totup_1) == tuple!int)); |
| |
| tuple!(int, int) tup_2; |
| auto totup_2 = cast(tuple!(int, int)) tup_2; |
| static assert(is(typeof(totup_2) == tuple!(int, int))); |
| } |
| |
| void implicitConv() |
| { |
| tuple!short tup_1; |
| auto totup_1 = cast(tuple!int) tup_1; |
| static assert(is(typeof(tup_1) == tuple!short)); |
| static assert(is(typeof(totup_1) == tuple!int)); |
| |
| tuple!(short, short) tup_2; |
| auto totup_2 = cast(tuple!(int, int)) tup_2; |
| static assert(is(typeof(tup_2) == tuple!(short, short))); |
| static assert(is(typeof(totup_2) == tuple!(int, int))); |
| } |