Remove unneeded .dup of arrays

See comments from #2974, specifically
https://github.com/D-Programming-Language/phobos/pull/2974#discussion_r24388654
This commit is contained in:
Matt Kline 2015-02-12 22:18:32 -08:00
parent 1129a2cd7f
commit a15d9be6fd
3 changed files with 27 additions and 27 deletions

View file

@ -1871,9 +1871,9 @@ unittest
return result;
}
auto lowEnt = ([ 1.0, 0, 0 ]).dup,
midEnt = ([ 0.1, 0.1, 0.8 ]).dup,
highEnt = ([ 0.31, 0.29, 0.4 ]).dup;
auto lowEnt = [ 1.0, 0, 0 ],
midEnt = [ 0.1, 0.1, 0.8 ],
highEnt = [ 0.31, 0.29, 0.4 ];
auto arr = new double[][3];
arr[0] = midEnt;
arr[1] = lowEnt;
@ -1904,9 +1904,9 @@ unittest
return result;
}
auto lowEnt = ([ 1.0, 0, 0 ]).dup,
midEnt = ([ 0.1, 0.1, 0.8 ]).dup,
highEnt = ([ 0.31, 0.29, 0.4 ]).dup;
auto lowEnt = [ 1.0, 0, 0 ],
midEnt = [ 0.1, 0.1, 0.8 ],
highEnt = [ 0.31, 0.29, 0.4 ];
auto arr = new double[][3];
arr[0] = midEnt;
arr[1] = lowEnt;
@ -2020,31 +2020,31 @@ void topN(alias less = "a < b",
debug(std_algorithm) scope(success)
writeln("unittest @", __FILE__, ":", __LINE__, " done.");
//scope(failure) writeln(stderr, "Failure testing algorithm");
//auto v = ([ 25, 7, 9, 2, 0, 5, 21 ]).dup;
//auto v = [ 25, 7, 9, 2, 0, 5, 21 ];
int[] v = [ 7, 6, 5, 4, 3, 2, 1, 0 ];
ptrdiff_t n = 3;
topN!("a < b")(v, n);
assert(reduce!max(v[0 .. n]) <= v[n]);
assert(reduce!min(v[n + 1 .. $]) >= v[n]);
//
v = ([3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5]).dup;
v = [3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5];
n = 3;
topN(v, n);
assert(reduce!max(v[0 .. n]) <= v[n]);
assert(reduce!min(v[n + 1 .. $]) >= v[n]);
//
v = ([3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5]).dup;
v = [3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5];
n = 1;
topN(v, n);
assert(reduce!max(v[0 .. n]) <= v[n]);
assert(reduce!min(v[n + 1 .. $]) >= v[n]);
//
v = ([3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5]).dup;
v = [3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5];
n = v.length - 1;
topN(v, n);
assert(v[n] == 7);
//
v = ([3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5]).dup;
v = [3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5];
n = 0;
topN(v, n);
assert(v[n] == 1);

View file

@ -243,7 +243,7 @@ arrays as long as keys and values can in turn be converted.
Example:
-------------------------
int[] a = ([1, 2, 3]).dup;
int[] a = [1, 2, 3];
auto b = to!(float[])(a);
assert(b == [1.0f, 2, 3]);
string str = "1 2 3 4 5 6";
@ -1432,7 +1432,7 @@ T toImpl(T, S)(S value)
import std.exception;
// array to array conversions
uint[] a = ([ 1u, 2, 3 ]).dup;
uint[] a = [ 1u, 2, 3 ];
auto b = to!(float[])(a);
assert(b == [ 1.0f, 2, 3 ]);

View file

@ -981,12 +981,12 @@ unittest
enum Color { no, yes }
Color color;
args = (["program.name", "--color=yes",]).dup;
args = ["program.name", "--color=yes",];
getopt(args, "color", &color);
assert(color, to!(string)(color));
color = Color.no;
args = (["program.name", "--color", "yes",]).dup;
args = ["program.name", "--color", "yes",];
getopt(args, "color", &color);
assert(color, to!(string)(color));
@ -1015,7 +1015,7 @@ unittest
outputFiles = [];
arraySep = ",";
args = (["program.name", "--output", "myfile.txt,yourfile.txt"]).dup;
args = ["program.name", "--output", "myfile.txt,yourfile.txt"];
getopt(args, "output", &outputFiles);
assert(outputFiles.length == 2
&& outputFiles[0] == "myfile.txt" && outputFiles[1] == "yourfile.txt");
@ -1049,10 +1049,10 @@ unittest
verbosityLevel = 2;
}
}
args = (["program.name", "--quiet"]).dup;
args = ["program.name", "--quiet"];
getopt(args, "verbose", &myHandler, "quiet", &myHandler);
assert(verbosityLevel == 0);
args = (["program.name", "--verbose"]).dup;
args = ["program.name", "--verbose"];
getopt(args, "verbose", &myHandler, "quiet", &myHandler);
assert(verbosityLevel == 2);
@ -1062,7 +1062,7 @@ unittest
assert(option == "verbose");
verbosityLevel = 2;
}
args = (["program.name", "--verbose", "2"]).dup;
args = ["program.name", "--verbose", "2"];
getopt(args, "verbose", &myHandler2);
assert(verbosityLevel == 2);
@ -1071,12 +1071,12 @@ unittest
{
verbosityLevel = 2;
}
args = (["program.name", "--verbose"]).dup;
args = ["program.name", "--verbose"];
getopt(args, "verbose", &myHandler3);
assert(verbosityLevel == 2);
bool foo, bar;
args = (["program.name", "--foo", "--bAr"]).dup;
args = ["program.name", "--foo", "--bAr"];
getopt(args,
std.getopt.config.caseSensitive,
std.getopt.config.passThrough,
@ -1086,7 +1086,7 @@ unittest
// test stopOnFirstNonOption
args = (["program.name", "--foo", "nonoption", "--bar"]).dup;
args = ["program.name", "--foo", "nonoption", "--bar"];
foo = bar = false;
getopt(args,
std.getopt.config.stopOnFirstNonOption,
@ -1094,7 +1094,7 @@ unittest
"bar", &bar);
assert(foo && !bar && args[1] == "nonoption" && args[2] == "--bar");
args = (["program.name", "--foo", "nonoption", "--zab"]).dup;
args = ["program.name", "--foo", "nonoption", "--zab"];
foo = bar = false;
getopt(args,
std.getopt.config.stopOnFirstNonOption,
@ -1102,7 +1102,7 @@ unittest
"bar", &bar);
assert(foo && !bar && args[1] == "nonoption" && args[2] == "--zab");
args = (["program.name", "--fb1", "--fb2=true", "--tb1=false"]).dup;
args = ["program.name", "--fb1", "--fb2=true", "--tb1=false"];
bool fb1, fb2;
bool tb1 = true;
getopt(args, "fb1", &fb1, "fb2", &fb2, "tb1", &tb1);
@ -1138,17 +1138,17 @@ unittest
}
static void myStaticHandler1() { throw new MyEx(); }
args = (["program.name", "--verbose"]).dup;
args = ["program.name", "--verbose"];
try { getopt(args, "verbose", &myStaticHandler1); assert(0); }
catch (MyEx ex) { assert(ex.option is null && ex.value is null); }
static void myStaticHandler2(string option) { throw new MyEx(option); }
args = (["program.name", "--verbose"]).dup;
args = ["program.name", "--verbose"];
try { getopt(args, "verbose", &myStaticHandler2); assert(0); }
catch (MyEx ex) { assert(ex.option == "verbose" && ex.value is null); }
static void myStaticHandler3(string option, string value) { throw new MyEx(option, value); }
args = (["program.name", "--verbose", "2"]).dup;
args = ["program.name", "--verbose", "2"];
try { getopt(args, "verbose", &myStaticHandler3); assert(0); }
catch (MyEx ex) { assert(ex.option == "verbose" && ex.value == "2"); }
}