This enables the test suite to build with the -property switch enabled.
std.cpuid: vendor()/processor() have not been converted to properties in accordance to core.cpuid.
std.xml: Element.text() cannot be a property due to the optional parameter.
The pragmas have not been as effective as we might have liked, since
they only work with templates and can't tell you where in your code you
need to make changes, and they seemed to have been more annoying to
programmers than helpful, so we're going to discontinue them. We'll
leave them in for stuff that's actually been deprecated until deprecated
has been improved enough to take a message, but we'll leave "scheduled
for deprecation" messages to the documentation and changelog.
This reverts commit b1765dc0cb.
Okay. So, I misread what count does and reverted my previous changes
prematurely. So I'm putting them back. count counts the number of
elements in the entire range which match the predicate, not just until
the predicate fails. So, it does _not_ do what the new overload of
countUntil does.
I missed the fact that count would do what I was trying to do, as did
dsimcha when he reviewed it. I left in the improvements to countUntil's
documentation though.
The following functions are modified to accept ranges with iota of longs:
* std.algorithm.map
* std.algorithm.splitter
* std.range.retro
* std.range.radial
* std.range.popBackN
* std.range.zip
* std.range.iota
* std.range.moveAt
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.
1. startsWith and endsWith now have similar implementations.
2. They work with strings of different character sizes, whereas before
they treated strings as arrays regardless of whether they had the same
character size or not.
3. endsWith now actually works when mixing ranges and elements in the
endsWith portion like the documentation claims it does.
The template constraint for std.algorithm.joiner(r, sep) required a
forward range, when an input range would suffice. The one-argument
version of joiner() did not have this problem.