- thus the alias arg can't be used
- moved the check into curry and provided
an error message if it fails
- fixes most of the failing template curry tests
isWhite, isLower, isUpper, toLower, and toUpper now have Ascii in their
name, which matches what std.unit does with its versions of those
functions. Hopefully, it should also reduce bugs due to using the wrong
function between the ASCII and unicode versions by making the difference
more obvious.
* Made emplace faster and replaced calls to it to also make them faster.
* Replaced phobos.d in posix.mak with index.d.
* Added version=StdDdoc to documentation build in posix.mak, and replaced uses of D_Ddoc with it.
* Improved documentation target in posix.mak (target dir automatically created).
* Added nice documentation table and cheat sheet at the top of std.algorithm.
* Replaced a few helper structs in std.range and std.algorithm with local structs, which simplify matters a fair amount.
* Added more constraints to functions in std.algorithm (still work in progress).
* Improved error message in std.algorithm.sort in case of failure to sort.
* std.random.dice(1, 10) now works (no need for array notation std.random.dice([1, 10])).
* Fixed documentation bugs and insufficiencies in std.range (still more to do).
* Improved speed of walkLength.
* Simplified retro.
* Simplified and optimized stride. Also folded stride(stride(r, a), b) into stride(r, a * b).
* Added roundRobin to std.range, which as a perk simplified radial.
* Added takeOne and takeNone to std.range.
* Added unsigned to std.traits.
The bug is not completely fixed. toDelegate() still does not work well with @safe function pointers... because toDelegate() is unsafe. And variadic arguments are ignored.
It's indeed reasonable to make the parameter auto ref because fp can be a structure with opCall since r1528. But ref return is not necessary for toDelegate() itself.
std.contracts: added functions pointsTo()
std.numeric: minor unittest fixes.
std.bitmanip: fixed code bloat issue, reintroduced FloatRep and DoubleRep.
std.conv: minor simplification of implementation.
std.regexp: added reference to ECMA standard in the documentation.
std.getopt: changed return type from bool to void, error is signaled by use of exceptions.
std.functional: added unaryFun, binaryFun, adjoin.
std.string: updated documentation, changed code to compile with warnings enabled.
std.traits: changed FieldTypeTuple; added RepresentationTypeTuple, hasAliasing; fixed bug 1826; added call to flush() from within write; fixed unlisted bug in lines().
std.algorithm: added map, reduce, filter, inPlace, move, swap, overwriteAdjacent, find, findRange, findBoyerMoore, findAdjacent, findAmong, findAmongSorted, canFind, canFindAmong, canFindAmongSorted, count, equal, overlap, min, max, mismatch, EditOp, none, substitute, insert, remove, levenshteinDistance, levenshteinDistanceAndPath, copy, copyIf, iterSwap, swapRanges, reverse, rotate, SwapStrategy, Unstable, Semistable, Stable, eliminate, partition, nthElement, sort, schwartzSort, partialSort, isSorted, makeIndex, schwartzMakeIndex, lowerBound, upperBound, equalRange, canFindSorted.
std.thread: fixed so it compiles with warnings enabled.
std.file: made getSize() faster under Linux.
std.random: fixed so it compiles with warnings enabled; improved function uniform so it deduces type generated from its arguments.
std.format: added fixes to make formatting work with const data.
std.path: minor documentation changes.