Merge pull request #1426 from ibuclaw/puremath

True pure std.math
Fix floor/ceil for real==double targets.
Merge pull request #1497 from ibuclaw/floor64fix

Fix floor/ceil for real==double targets.
Merge pull request #1495 from tom-tan/safe-pure-unittest-for-stripLeft

Mark a unittest for std.string.stripLeft as @safe pure
fix broken indention, detab
Add proper docs for return type of sformat.
Merge pull request #1503 from AndrejMitrovic/DocFix

[Trivial] Add proper docs for return type of sformat.
Fix issue 10874.

Don't assume that is(A : B) means a==b is valid, or that !is(A : B)
implies that a==b is invalid. Instead, test for a==b explicitly.

More specifically, int and ulong are ==-comparable, even though ulong is
not implicitly convertible to int. Thus, one should be able to convert
ulong to an int-based enum, but is(A : B) in the signature constraint
prohibits this. Testing for a==b explicitly, OTOH, makes this work.
Fix frexp for real == double targets
Merge pull request #1506 from jpf91/frexp

Fix std.math.frexp for real == double targets
It appears that whoever changed the name of the range parameter to encode didn't rename the parameter everywhere in the function.
Add unittest for issue 6893.
Allow narrowing conversions of enum -> integral (int, short, etc.).

It will just throw at runtime if the value of the enum is too large.
Add unittest for narrowing enum -> integral conversions.
Mark std.string.stripRight as @safe and pure
Mark std.string.strip and its unittests as @safe and pure
Mark std.string.chompPrefix and its unittests as @safe and pure
Merge pull request #1509 from tom-tan/safe-pure-string-strip

Mark std.string.strip and its unittests as @safe and pure
Merge pull request #1508 from tom-tan/safe-pure-string-stripRight

Mark std.string.stripRight as @safe and pure
Merge pull request #1510 from tom-tan/safe-pure-string-chompPrefix

Mark std.string.chompPrefix and its unittests as @safe and pure