Recent druntime embeds backtrace information in Exception.toString(). So the actual error message will not be identical to the argument passed to error().
- Passing const/immutable/shared Regex object to match() and replace() is perfectly safe. Just the template constraints were unaware of the qualifiers.
- Example for splitter() was a bit wrong (compare with the correct one in the unittest around line 2990.)
std.algorithm: defined move with one argument; levenshtein distance generalized to with all forward ranges; take now has swapped arguments
std.array: empty for arrays is now a @property; front and back for a string and wstring automatically decodes the first/last character; popFront, popBack for string and wstring obey the UTF stride
std.conv: changed the default array formatting from "[a, b, c]" to "a b c"
std.range: swapped order of arguments in take
std.stdio: added readln template
std.variant: now works with statically-sized arrays and const data
std.traits: added isNarrowString