Это работает:
int[] a = [ 1, 2, 3, 4 ];
fill(a, 5);
но это не так:
int[4] a = [ 1, 2, 3, 4 ];
fill(a, 5);
и я получаю эту ошибку:
Ошибка: шаблон std.algorithm.fill(Range, Value) if (isForwardRange! (Range) && is (typeof (range.front = filler))) не соответствует объявлению шаблона функции
вместо этого я должен сделать это, чтобы он работал со статическими массивами:
int[4] a = [ 1, 2, 3, 4 ];
fill(a[], 5);
Может кто-нибудь объяснить это поведение?