Replace .staticArray with explicit declarations

This commit is contained in:
Atila Neves 2020-03-19 16:18:53 +01:00
parent 825b72dc88
commit 69ae443df4

View file

@ -972,20 +972,19 @@ template equal(alias pred = "a == b")
{ {
import std.algorithm.comparison : equal; import std.algorithm.comparison : equal;
import std.math : approxEqual; import std.math : approxEqual;
import std.array : staticArray;
auto a = [ 1, 2, 4, 3 ].staticArray; int[4] a = [ 1, 2, 4, 3 ];
assert(!equal(a[], a[1..$])); assert(!equal(a[], a[1..$]));
assert(equal(a[], a[])); assert(equal(a[], a[]));
assert(equal!((a, b) => a == b)(a[], a[])); assert(equal!((a, b) => a == b)(a[], a[]));
// different types // different types
auto b = [ 1.0, 2, 4, 3].staticArray; double[4] b = [ 1.0, 2, 4, 3];
assert(!equal(a[], b[1..$])); assert(!equal(a[], b[1..$]));
assert(equal(a[], b[])); assert(equal(a[], b[]));
// predicated: ensure that two vectors are approximately equal // predicated: ensure that two vectors are approximately equal
auto c = [ 1.005, 2, 4, 3].staticArray; double[4] c = [ 1.005, 2, 4, 3];
assert(equal!approxEqual(b[], c[])); assert(equal!approxEqual(b[], c[]));
} }
@ -1749,9 +1748,8 @@ if (isInputRange!(Range1) && isInputRange!(Range2))
/// ///
@safe @nogc unittest @safe @nogc unittest
{ {
import std.array : staticArray; int[6] x = [ 1, 5, 2, 7, 4, 3 ];
auto x = [ 1, 5, 2, 7, 4, 3 ].staticArray; double[6] y = [ 1.0, 5, 2, 7.3, 4, 8 ];
auto y = [ 1.0, 5, 2, 7.3, 4, 8 ].staticArray;
auto m = mismatch(x[], y[]); auto m = mismatch(x[], y[]);
assert(m[0] == x[3 .. $]); assert(m[0] == x[3 .. $]);
assert(m[1] == y[3 .. $]); assert(m[1] == y[3 .. $]);
@ -1759,11 +1757,10 @@ if (isInputRange!(Range1) && isInputRange!(Range2))
@safe @nogc unittest @safe @nogc unittest
{ {
import std.array : staticArray;
import std.range : only; import std.range : only;
auto a = [ 1, 2, 3 ].staticArray; int[3] a = [ 1, 2, 3 ];
auto b = [ 1, 2, 4, 5 ].staticArray; int[4] b = [ 1, 2, 4, 5 ];
auto mm = mismatch(a[], b[]); auto mm = mismatch(a[], b[]);
assert(equal(mm[0], only(3))); assert(equal(mm[0], only(3)));
assert(equal(mm[1], only(4, 5))); assert(equal(mm[1], only(4, 5)));