Type inference and overloaded functions
Namespace
rswhite4 at googlemail.com
Thu Dec 12 05:29:54 PST 2013
I created a separate branch for the syntax Type[$] and auto[$]:
https://github.com/Dgame/dmd/commit/438a519d28d1683086083e673b2630a64c269f5f
Example:
----
int[$] arr_a1 = [54, 74, 90, 2010];
assert(is(typeof(arr_a1) == int[4]));
assert(arr_a1 == [54, 74, 90, 2010]);
int[$] arr_a2 = [2010, 90, 74, 54];
assert(is(typeof(arr_a2) == int[4]));
assert(arr_a2 == [2010, 90, 74, 54]);
int[] dyn_arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
int[$] stat_arr = dyn_arr[3 .. 6];
assert(is(typeof(stat_arr) == int[3]));
auto[$] a_arr1 = [1, 2, 3];
assert(is(typeof(a_arr1) == int[3]));
auto[$] a_arr2 = dyn_arr[4 .. 8]; /// Sadly not possible for me
//int s = 2, e = 7;
//int[$] stat_arr2 = dyn_arr[s .. e]; /// fails
//int[$] stat_arr3 = dyn_arr[]; /// fails
----
Sadly I don't know how I could deduce the type of:
----
auto[$] a_arr2 = dyn_arr[4 .. 8]; /// Sadly not possible for me
----
I will try this again before I open a pull request. Maybe some of
you know how to do this?
More information about the Digitalmars-d-learn
mailing list