@@ -3150,7 +3150,7 @@ private void medianOf(
31503150 (Range r, Indexes i)
31513151if (isRandomAccessRange! Range && hasLength! Range &&
31523152 Indexes.length >= 2 && Indexes.length <= 5 &&
3153- allSatisfy! (isIntegral , Indexes))
3153+ allSatisfy! (isUnsigned , Indexes))
31543154{
31553155 assert (r.length >= Indexes.length);
31563156 import std.functional : binaryFun;
@@ -3159,24 +3159,29 @@ if (isRandomAccessRange!Range && hasLength!Range &&
31593159 import std.algorithm.mutation : swapAt;
31603160
31613161 alias a = i[0 ];
3162+ static assert (is (typeof (a) == size_t ));
31623163 static if (k >= 2 )
31633164 {
31643165 alias b = i[1 ];
3166+ static assert (is (typeof (b) == size_t ));
31653167 assert (a != b);
31663168 }
31673169 static if (k >= 3 )
31683170 {
31693171 alias c = i[2 ];
3172+ static assert (is (typeof (c) == size_t ));
31703173 assert (a != c && b != c);
31713174 }
31723175 static if (k >= 4 )
31733176 {
31743177 alias d = i[3 ];
3178+ static assert (is (typeof (d) == size_t ));
31753179 assert (a != d && b != d && c != d);
31763180 }
31773181 static if (k >= 5 )
31783182 {
31793183 alias e = i[4 ];
3184+ static assert (is (typeof (e) == size_t ));
31803185 assert (a != e && b != e && c != e && d != e);
31813186 }
31823187
@@ -3269,23 +3274,24 @@ unittest
32693274 do
32703275 {
32713276 int [5 ] a = data;
3272- medianOf(a[], 0 , 1 );
3277+ medianOf(a[], size_t ( 0 ), size_t ( 1 ) );
32733278 assert (a[0 ] <= a[1 ]);
32743279
32753280 a[] = data[];
3276- medianOf(a[], 0 , 1 , 2 );
3281+ medianOf(a[], size_t ( 0 ), size_t ( 1 ), size_t ( 2 ) );
32773282 assert (ordered(a[0 ], a[1 ], a[2 ]));
32783283
32793284 a[] = data[];
3280- medianOf(a[], 0 , 1 , 2 , 3 );
3285+ medianOf(a[], size_t ( 0 ), size_t ( 1 ), size_t ( 2 ), size_t ( 3 ) );
32813286 assert (a[0 ] <= a[1 ] && a[1 ] <= a[2 ] && a[1 ] <= a[3 ]);
32823287
32833288 a[] = data[];
3284- medianOf! (" a < b" , Yes.leanRight)(a[], 0 , 1 , 2 , 3 );
3289+ medianOf! (" a < b" , Yes.leanRight)(a[], size_t (0 ), size_t (1 ),
3290+ size_t (2 ), size_t (3 ));
32853291 assert (a[0 ] <= a[2 ] && a[1 ] <= a[2 ] && a[2 ] <= a[3 ]);
32863292
32873293 a[] = data[];
3288- medianOf(a[], 0 , 1 , 2 , 3 , 4 );
3294+ medianOf(a[], size_t ( 0 ), size_t ( 1 ), size_t ( 2 ), size_t ( 3 ), size_t ( 4 ) );
32893295 assert (a[0 ] <= a[2 ] && a[1 ] <= a[2 ] && a[2 ] <= a[3 ] && a[2 ] <= a[4 ]);
32903296 }
32913297 while (nextPermutation(data[]));
0 commit comments