Fix Issue 12184 - Implement advanced formatting support for std.uni.InversionList.

add @nogc annotations to std.ascii

add @nogc annotations to std.path

Fix Issue 10931 - etc.c.zlib is missing proper const annotations for parameters and uses C-style pointer declarations.

Strip spaces.

Fix Issue 8767 - Add note on where to download the curl static library when using x86 Windows.

@nogc for std.math

Sed "@safe pure nothrow"

Added .editorconfig to automatically set proper tab settings, as supported by many text editors.

Supplemental fix for issue 7469

Fix Issue 11253 - std.algorithm.count is not nothrow.

WorkAround 12661: To make SortedRange#this() nothrow

Debug statements prevent this function from nothrow.
So I take them out of the function body and put them into the
postcontract which has another context.

Fixed std.string.isNumeric when compiling with dmd -property flag (see std.algorithm.among) (added direct function calls '()')

more selective editorconfig

- only apply config to C and D source files

Fix Issue 12731 - Infinite range slices are not themselves sliceable

Added isSIMDVector, support for SIMD primitives to std.traits.Signed/Unsigned, and fullyQualifiedName

Remove gratuitous string mixins

Use template mixin over string mixin

Remove useless variable

Add SHA-2.

Update container.d

BUG4274 already squashed.

Fix issue 12691 std.regex.bmatch bug in empty OR operator inside of ()*

Must save variables that track advancement inside of infinite loops
on per-thread basis. Apparently no amount of trickery would let us avoid it.

Update winsock.d

Update WSA error codes.

Update winsock.d

Missing comma.

Fix issue 12713 std.regex.regex crashes with SEGV, illegal instruction resp. assertion failure with certain bad input

Update winsock.d

Avoid pulling in all of std.c.windows.windows for Winsock.
Also changed a few conts to enums where appropriate.

Update winsock.d

Oops.

Update winsock.d

Remove std.stdint from Winsock.

extend functions to use RandomAccessRanges

Trivial documentation fix for issue 12557

gcd is implemented with Euclid's algorithm, not Euler's algorithm.
https://issues.dlang.org/show_bug.cgi?id=12557

Fix issue 12366 Range violation in compile-time regex

Back-references are not a part of "quick-test" in R-T version,
neither should they be in C-T.

Mark std.stdio.File.fdopen as safe and trusted

isValidFilename() to range

(last)indexOfAny(index)

whitespace

some code reductions

faster

some last fixes, I hope

typo

walkLength

[CLEANUP] Remove old hack, CTFE is better these days

std.path - more rangification

fix property enforcement

Remove trailing whitespaces

convert jagged array with rectangular one

Convert SysTime's examples to ddoc-ed unittests.

annotate mathspecial functions

@nogc for std.complex

Make std.datetime.Date use ddoc-ed unittests.

Added std.experimental

Moved note.md into the right directory

Fixup spelling mistake.

Don't assume va_list is void*

Added an in operator to std.json.JSONValue. Tested when const/non-const

Fix issue 12747 std.regex bug in the parser allows reference to open groups.

Check the stack of opened constructs for groups when emit back-refs.

std.stdio: annotate C functions

add annotations to biguint

Convert std.datetime.Datetime to use ddoc-ed unit tests.

Reformat some ddoc-ed examples so that they're not so long.

std.conv: parse not handling some cases

Small code reduction in std.ascii.

We can have the comment only once, and it will still show up in the
docs.

Minor stylistic cleanup in std.ascii.

std.json: ensure objects contain keys

Avoid double lookup in opIndex for std.json.

va_list fix for win64

Duplicate pointsTo as "doesPointTo"

Implement "isUnionAliased"

Re-implement "pointsTo" as "doesPointTo"

Rename pointTo as doesPointTo, insert deprecated alias

Change pointsTo to mayPointTo and doesPointTo

Rewrite pointsTo documentation

Add some missing docs to std.traits.

Some cleanup of std.datetime.

This is mostly some cleanup which takes advantage of some stuff like
format being pure now, but it also removes the long month name and
case-insensitive months for simple time. I don't know why it was there
(probably idiocy on my part), and it violates the format for simple time
as defined by the documentation.

Converted more of std.datetime's examples to ddoc-ed unit tests.

The ones at the end which are removed from the docs are removed because
they're private, so there's no point in having an example in their
documentation.

add NullSink output range

fix Issue 7822 - lseek cast(int)offset should be lseek cast(off_t)offset

fix import declarations

Mark std.stdio.File.seek as @trusted

Make BigInt nothrow where possible

more operators nothrow

Mark std.stdio.File.tmpfile, wrapFile and size as @safe

fix Issue 10948 - BitArray.opEquals is invalid

https://issues.dlang.org/show_bug.cgi?id=10948

Implemented the fix as proposed by nbelov on Bugzilla. Included are unit tests which would have triggered this bug and also fixed it in opCmp.

The issue was that the 32 bit expression "(1 << n)" was treated as being of size_t, which lead to incorrect bit patterns on 64 bit environments.

Give DList correct reference semantics

Cover issue 12566

Fix Issue 12600 - Variant should support coercion to bool.

Tweak min and max for yet more efficiency

I checked the generated assembly code, and it looks pretty damn good. I've not been able to achieve any better anyways.

Constrain isSomeString

Add interface test in pointsTo

Re-insert doesPointTo in swap/move

Fix issue 12828: Fix return type of SimpleTimeZone.utcOffset.

Mark std.stdio.LockingTextWriter.this, ~this and this(this) as @trusted

Remove now-unneeded workaround for bug# 4866.

Fix functions which are supposed to return by ref in SysTime.

Compiler bugs previously prevented these functions from returning by
ref.

Fix functions which are supposed to return by ref in Date.

Compiler bugs previously prevented these functions from returning by
ref.

More ref return fixes in std.datetime now that the compiler allows them.

Supplemental fix for issue 12857

The local template function zeroLen is inferred to @system. So it should not be placed directly under the @safe unittest body.

Fix issue 12771 - Variant opIndex for static arrays is not implemented.

Shorten array checks to isArray

add byCodeunit, byChar, byWchar and byDchar to std.utf

Reuse codepoint sets for identical character classes

These are very common and blowup memory usage at CTFE (that has no TLS
cache for that).
In any case it makes for slightly more compact memory footprint,
so a net gain regardless.

Fix #12806

Documentation improvement for `std.traits.isArray` to clarify whether
associative arrays are handled.

Fixes #12806

Fix missing program name in std.process.spawnProcessImpl exception message.

Fix Issue #12877: allow uniform() to handle dchar variates

Since [dchar.min, dchar.max] does not cover the full bit range of dchar,
optimizations that work for other integral types will fail here, and
result in illegal unicode points being generated.

This fix avoids breaking any existing calls to uniform() via a twofold
approach:

   * uniform!"[]"(T.min, T.max) will only call uniform!ResultType if
     T is not a dchar;

   * uniform!dchar will not try and use the entire bit range but will
     instead call uniform!"[]"(dchar.min, dchar.max).

Unittests have been added that should prevent such issues from arising
again.

Upkeep in outdent

Removed "ctfe_strip", use documented unittest, use "stripLeft" over "strip" (preserve trailing spaces), tweak loop indexing, remove ctfe assert.

Fix deprecation messages caused by recent changes to Duration.

Make Rebindable @trusted.

Remove unused WinAPI ANSI function usages.

Issue 12898 - `std.process.browse` expects URL to be encoded in CP_ACP on Windows instead of UTF-8

Use Unicode version of `ShellExecute` in `std.process.browse`.
Also remove needless `ShellExecuteA` declaration.

Use Unicode version of `CreateFileMapping` in `std.mmfile.MmFile` constructor.

It's a bad style to use ANSI WinAPI function and may cause problems in future.

Make std.datetime.Date @safe.

Make std.datetime.TimeOfDay @safe.

Make std.datetime.DateTime @safe.

Make time zones @safe.

Make std.datetime.SysTime @safe.

Fix property enforcements in `std.range` mixins.

Fix BitArray.opCmp

Fix codestyle code review comment

Fix code review comment: repcace some ifs to one expression

Use core.bitop.bsf in BitArray.opCmp for more efficient

Fix out of bounds.

std.bitmanip: BitArray.opcmp unittest improvements by MartinNowak

Make side effect on strongly pure function call

Fix Issue 12921 - Module std.getopt does not respect property syntax

Make std.stdio.LockingTextWriter.put and lockingTextWriter @safe

Make trustedFwrite static

Make trustedFPUTC and trustedFPUTWC static

Add static keyword to trustedFPUTC/trustedFPUTWC

Revert "Merge pull request #2225 from tom-tan/trusted-stdio-LockingTextWriter-put"

It broke win32 build.

This reverts commit dc0b441bb1849ef9c69da7901b3eef0350ada47e, reversing
changes made to 285d027677fe8d340c57632b5ce89ef247714dc0.

Add unittests bug #12889

std.array.replaceInPlace: Don't call remove to remove nothing

Implement issue# 12886: function for parsing RFC822/5322 date-time format.

The RFC 822 / 5322 date-time format should be taken out and shot, but
unfortunately, it _is_ used in e-mail, HTTP, RTSP, etc. Most code which
deals with it is probably going to need to handle the rest of whatever
spec it's interacting with rather than just the date-time format, but
there are cases where this would be useful on its own (e.g. Martin
apparently needs something like this in the dmd installer), so I'm
adding a function to parse this format and return a SysTime to
std.datetime.

However, that's all I'm adding. I find it very hard to believe that
anyone who needs to produce this particular format doesn't need a lot of
other functionality specific to whatever spec they're dealing with, and
the function for generating the date-time format presumably will be
included with that (and I definitely don't want to encourage this
format's use anyway, since it's a horrible format). So, I'm just adding
a function for parsing the format, not generating it.

parseRFC822DateTime _should_ fully and correctly implement the format as
outlined in RFC 5322 (including the obsolete syntax from RFC 822 that no
one is supposed to be generating anymore and the comment folding
whitespace nonsense that should never have been legal anywhere but at
the end). And the tests are quite thorough, so it's unlikely that I
missed anything, but you never know.

Avoid multiple giant h1s in CONTRIBUTING.md

fix property enforcement

Update the Qt signals and slots link.

Remove std.traits.unsigned as scheduled.

Move along some overdue deprecations.

There's no point in scheduling deprecations anymore.

deprecate no longer generates an error, so we might as well just
deprecate directly.

Workaround for issue# 12961.

Fix #9819: Allow access to named tuple's names

Adds a `fieldNames` alias to `std.typecons.Tuple` to return the user-supplied
names.  The actual fields are in an expression tuple, so the
user-supplied names are simply aliases, which previous to this PR, were
not accessible.

https://issues.dlang.org/show_bug.cgi?id=9819

Fix Issue 9819

Slight improvement to enforceEx's constraints and its documentation.

Remove deprecated module std.metastrings

This module has been deprecated and scheduled for removal in March 2014.
It is now June 2014.

Rename local variables to avoid conflict with local imports

Add missing imports

Remove redundant @nogc attributes

Remove redundant attributes

ARM fixes for 2.065

[trivial] Fix copy/paste error in minPos doc comment.

Fix unterminated $(OL

fix Issue 13000 - Casts should be removed to utilize features of inout

Document template args

Add documentation for remaining template arguments in unaryFun and binaryFun.

Fix typo.

Fixing a silly typo.

Better clarity in describing parameters.

Incorporated latest comment.

Fix "make install" on Linux.

The "install" target requires the static library as well as
the shared onject version of Phobos. This fixes the target
dependencies to reflect that.

Fix 13002: Add ddoc directory rule to posix.mak for std.container.

Remove slow array copy from math.floor()

Explicitly use real literals in floor/ceil tests

Add float/double overloads for floor/ceil

Move common floor() code into floorImpl()

Convert isNan/isInfinite into generic functions, add compile-time float path

Replace BMASK with a computed clear mask

fix Issue 12859 - Read-modify-write operation for shared variable in Phobos

Mark some unittest blocks deprecated to suppress messages during Phobos build

Update stdio.d

Eliminate use of deprecated read-modify-write operation on shared variable.

Update getopt.d

Fix Ddoc: Stray '(' warning.

Update random.d

Fix Ddoc: Stray ")" warning.

Update uni.d

Fix Ddoc: Stray ')' warning.

Revert "Update stdio.d"

This reverts commit dbdcb2b9960c594f680cb965f3ce112537d98779.

Fix issue 12859 again

The direct pushing by Andrew Edwards had accidentally reverted regression fix.

inout instance field is not allowed in D

Issue 13013 - Converted real to double in std.json.JSONValue

Updated std.format documentation of width and precision specifiers

fix Issue 10916 - toHash on VariantN not being recognised

Make VariantN.toHash() const nothrow @safe. Assume that `VariantN.type` property is @safe nothrow.

Remove redundant Tuple.opEquals

Today struct type equality `a == b` is expanded to `a.tupleof == b.tupleof`, so opEquals method is unnecessary for `std.tyoecons.Tuple`.

std.algorithm.remove: Fix constraints and change popBack loop to popBackN

std.algorithm.remove: Change pop____N to pop____Exactly

Add documented unit tests for formatValue()

Add example showing how to forward format specifiers.
Add example highlighting the similarity with formattedWrite(), and
comparing their use.

Change /** */ for /// and add $(D formatValue)

Replace /** */ with /++ +/

std.json.JSONValue toString is now const

Fix issue 12455 [reg]Bad lowercase mapping for 'LATIN CAPITAL LETTER I WITH DOT ABOVE'

Also as part of a fix restores a test case in string.d
to exactly match older behaviour.

Some extended greek is not upper but title case, yet changes on toUpper.

Issue 8370 - Fix deprecated message during Linux Phobos build.

This change fixes Linux builds only. Other Posix based OS's will still use the deprecated alias from the Posix module. (This is the same behavior as the garbage collector module.)

Changed tabs to spaces

fix Issue 13056 - [2.066.0-b1] Regression: Error: template std.path.baseName cannot deduce function from argument types !()(DirEntry)

fix import declaration

Revert "Merge pull request #1827 from WalterBright/add-opCmp"

This reverts commit dab1796ad6966f28c0d220678423718d4d64f92f, reversing
changes made to 327085b8fed061853b0a9c8bdc42df9e495d0315.

[Fix] Fix property enforcement when using `BigInt`.

Mark std.file.rename as @trusted

Mark std.file.remove as @trusted

Mark std.file.writeImpl as @trusted

Supplemental fix for issue 13074 - revert opEquals and add toHash in std.typecons.Tuple

cartesianProduct: default order should be lexicographically sorted.

Update unittest and example code to reflect new ordering.

Get rid of exponential template bloat for most common use case of cartesianProduct.

getoptx

some tinkering

alot more

comments

some more

more doc

getoptX cleanup

tuple -> struct

getoptX -> getoptEx

Required

getoptEx is now inline

GetoptRslt -> GetoptResult

more info

some comment fixes

Merge enforceEx with enforce

Makes it possible to call `enforce!MyException` instead of `enforceEx!MyException`, eliminating
redundant notation. Old enforceEx is not deprecated but removed from documentation examples.

(last)indexOfNeither(index)

faster

merged indexOfAnyImpl with indexOfNeitherImpl and fixed a bug

Mark std.file.write and append as trusted

Mark std.stdio.lockingTextWriter.this as safe

Mark unittests for std.stdio.File.error, detach and flush as safe

fix Issue 13098 - std.path functions no longer works with DirEntry

Fix Issue #12835: open lower bound for integral-type uniform()

Added a cast to ensure the setting of lower bound can handle character
types and integral types smaller than int.  The additional unittests
should prevent such issues from arising again.

Fix issue 3363: std.stream.readf segfaults with immutabel format strings

Added unittest

Fix issue #13100 - std.process.setCLOEXEC() throws

There are two cases in which the fcntl() calls may fail:

  1) the file descriptor is invalid, in which case errno == EBADF,
  2) they receive invalid arguments, in which case errno == EINVAL.

We just want to ignore the error in the former case, as evidenced by
the bug report, and the latter means that we have an error in
std.process, which is best handled by an assertion. (Note that it was
never possible to catch the exception anyway, since it was thrown in
the child process.)

Start getting tests passing on Android/x86

Fix Issue 13042 - std.net.curl.SMTP doesn't send emails with libcurl-7.34.0 or newer

Fix bug 7648 comment in `std.stdio.File` and add bug section to `std.file.slurp`.

Issue URL: http://d.puremagic.com/issues/show_bug.cgi?id=7648

std.math: Check if dmd-style inline asm is available

Add method for std.net.curl.HTTP that allows user to specify Content-Type.

Expand ddoc.

Added std.algorithm.safeLess for safe signed/unsigned comparison; rewrote min/max

Add `@nogc` attributes to `std.utf`.

Also remove GC allocation from `byDchar.front` as it caused all `by*` ranges be not-`@nogc`.

Issue 10194. Variant does not call struct destructors.

Implemented elaborate copying support.

Fix Issue 12556 - Add persistent byLine

Make byLineCopy support mutable line copies

Fix caching byLineCopy.front (oops)

Clarify when to use byLineCopy vs byLine

Indent parameters

Sanitize Appender constraints a bit.

Fix range violation for cartesianProduct of empty ranges.

Completes the fix for: https://issues.dlang.org/show_bug.cgi?id=10693

.init value of cartesianProduct should be empty.

Deprecate std.c.string and move its contents to druntime

Remained fix for issue 13098 - isValidFilename and alias this

[Refactoring] reduce overloads

Fix Issue 4483 - foreach over string or wstring, where element type not specified

std.process does not support Unicode and assume it's iterating over
ASCII.

Modified Levenshtein distance()

Modified the implementation of Levenshtein distance so that it now uses O(n) memory but retains the same time complexity. However, does not work with path().

Modified Levenshtein distance()

Modified the implementation of Levenshtein distance so that it now uses O(n) memory but retains the same time complexity. However, does not work with path().

Fixed formatting

Moved all braces so that they are on their own lines and removed the trailing whitespace after function declaration;

Moved previous distance() implementation

Moved to be a private method and only expose new more memory efficient
distance(). This is done because we need the old implementation for
path(). Modified levenshteinDistanceAndPath() to use the old distance()
to reflect this.

Refactored, added unit tests and removed opIndex.

Moved checks for which Range is longer to levenshteinDistance() method.

Reverted to implementation found in original distance() with regards to
using front/popFront instead of opIndex.

Fixed formatting of return statement.

Added two unit tests for levenshteinDistance().

Credit to @Poita.

Refactored distance() and corrected path()

Refactored distacen() so that it now accepts the lengths of the ranges
because we already calculate these in levenshteinDistance().

Altered ss in distance() and tt in distanceWithPath().

Moved popFront()’s to after their final usage to handle transitive
ranges.

Corrected path() so that it calls distanceWithPath() instead of
distance().

Removed calls to matrix() in distance()

Since _matrix is now a single dimension matrix, calls to matrix() have
been removed and replaced with direct access equivalents.

Changed the implementation of distance() so that it uses the memory inefficient version to prevent breakage in the API. Efficient version has been moved to distanceLowMem() in the struct and is called internally by levenshteinDistance()

Removed the accidental semicolon

fix Issue 12853 - std.encoding EncodingSchemeUtf16Native and EncodingSchemeUtf32Native decode() and SafeDecode() wrong stripping length

fix Issue 12853 - std.encoding EncodingSchemeUtf16Native and EncodingSchemeUtf32Native decode() and SafeDecode() wrong stripping length

fix Issue 13077 - std.range.array with shared InputRangeObject

prevent ambiguity when calling take with a Take!R

If Take!R satisfied ```isInputRange!(Unqual!R) && !isInfinite!(Unqual!R) && hasSlicing!(Unqual!R)``` then you would get an ambiguity error calling take!(Take!R)

fix unittest

actually fix the unittest...

Fixed handling of a struct with no "length" field defined but with opDispatch of inappropriate type.

Document std.range.transposed (issue 4330).

Add unittested example as well.

Fix issue 8764

Transposed can only work with ranges of ranges if the subranges are
assignable. Add signature constraints.

Fix forward range bugs (should use .save instead of just copying the
range object).

Add unittests.

Move docs from struct Transposed to transpose().

some love for std.string

many functions of std.string had no attributes like pure, safe etc.
additionally, many const arguments where not marked as const.
tabs -> whitespace
removed tail whitespace
Doc Examples to unittest docs

more love for std.string

const to in

squeeze

Don't use fprintf to output D strings since they might contain embedded nulls.

Instead, use fwrite to output the string in its entirety. It's probably
more efficient this way anyway, since we bypass format string parsing in
fprintf.

Update unittest to check for correct writing of embedded nulls.

Add clamp function

Request in issue 10039

http://d.puremagic.com/issues/show_bug.cgi?id=10039

Adjust clamp signature and tests

signed is now deduced over unsigned, added small documented unittest
instead of full block

Add in contract for clamp()

lower bound should not be larger than higher one

Mention 'clamp' in the cheatsheet

Enhancement request 13022: add `std.complex.sqAbs`

Add `std.complex.abs2`, which returns the squared modulus of a
`Complex` or real number.

Rationale:
* It is common to need the squared modulus of a complex number,
and using `abs(z)*abs(z)` would be inefficient due to the
computation of the square root.
* The name `abs2` has been chosen for consistency with `abs`, and
for being mathematically more correct than `norm`, used by C++ STL
for the equivalent function.
* For genericity, the function `abs2` is also declared for real
floating point numbers, in which case it simply returns its
square.

UPDATE: use `sqAbs` instead of `abs2`.

Fix possible copy and paste mistake

fix Issue 13149 - released libphobos2.a is build with PIC code

- Happens because the libphobos2.so was build with a recursive
  target and PIC=1. This PIC=1 enabled -fPIC for the recursive
  libdruntime.a build.

- fixed by building $(LIBSO) non-recursively

Convert std.math.isFinite into a template

Convert std.math.isSubnormal into a template

Add floatTraits.SIGNPOS_BYTE for float

Convert std.math.signbit into a template

Convert std.math.copysign into a template

Fixup use of whitespace in places

Use unsigned-safe comparing in clamp contract

assumeUTF from idea of issue10162

format whitespace

doc unittest

assumeUTF with const immu

validate in debug mode

whitespace

wrong attributes

Ddoc supported 'real' formats in std.math

Make emplaceRef parameter optional

emplaceRef unittest

Enable Unique!struct unittest

Prevent double delete of Foo by calling release in f().
Cleanup unittests a little.

Enable Unique!class unittest

Call release as a workaround to prevent Bar deletion in g(), leading to
access violation.

Fix Issue 13068 - std.typecons.Unique should disable postblit

Don't delete null reference/pointer

Update Unique docs

Pre-allocate result array in getAddress and use Appender in getAddressInfoImpl

Fixes issue #13159

Make ModifyTypePreservingSTC package instead of private

Change assumeUTF to use ModifyTypePreservingSTC and thus support shared

Change representation to use ModifyTypePreserveSTC

Fix documentation of when dirName() allocates

Whether the `path` argument is mutable or not has no bearing on if dirName() allocates.

issue 13018: translate does not except immutable or const AAs

removed the comment

some fixes

less code

change install target to match current release structure

Add enum RealFormat for floatTraits

Replace mant_dig CTFE tests with realFormat

Add integral overload for isNaN for use in generic code

fix Issue 13171 - std.algorithm.until(range, sentinel, OpenRight.no) doesn't propagate popping of sentinel to range

change `|=` to `||`

Fix install directory on Mac OS X

Revert "Add integral overload for isNaN for use in generic code"

Fix posix.mak

Update std.uni tables generator to use @nogc

Enables @nogc isWhite and related functions.
A supplement to pull #2323

Fix Issue 8866 - Splitter(R1, R2) CANNOT be bidirectional.

Fix issue 12923

UTF exception in stride even though passes validate.
The root cause is that decode has very lax checking of the first
code unit.

Mark std.file.read as @trusted

Change ReadFile(...) == 1 to ReadFile(...) != 0

Using nested trusted functions

Fix trustedRef

Re-implement reduce.

Consolidates the implementation, prepares for "fold", and also fixes a couple of issues:
http://forum.dlang.org/thread/oghtttkopzjshsuflelk@forum.dlang.org
https://issues.dlang.org/show_bug.cgi?id=10709
https://issues.dlang.org/show_bug.cgi?id=12569

Reduce unittest for 10709, 12569, and...

...an unfiled issue from the forums

Use `assertThrown` in reduce unittest

Make std.stdio.File.LockingTextWriter.put safe

Make public fps, handle, and orientation deprecated

Fix deprecation for fps, handle and orientation

Mark a unittest for std.file.read as safe

Fix a minor typo.

I noticed a small typo while I was looking at random documentation pages.

Fix Issue 12668 -  std.traits.functionAttributes should use the new
getFunctionAttributes trait.

[reg] Fix 13210 : libphobos2.so not being built

Mark std.file.getFileAttributesWin as trusted and makeUlong as safe pure
nothrow nogc

Mark std.file.readText as trusted

Made File.writeln infer @safe/@trusted/etc. Also wrapped stdout in @trusted private function so writeln (and family) free functions don't always infer @system.

fix issue 13163 - std.conv.parse misses overflow when it doesn't result in a smaller value

don't bother with signed types

Everything is >= 0 all the time anyway.

fix whitespace

Mark unittests for std.file.readText, rename and exists as safe

fixup #2377 - add back missing $(SONAME) symlink

Add missing imports

Issue 13232 - avoid expensive template instantiations on module import

- hide std.uni.TrieBuilder instantiations behind functions

Define isNaN deprecation for integers

Also cleans isNaN unit tests

Add more integer isXXX deprecations

Also implementation is changed to forward to floating point signature
instead of a stub to exactly match old behaviour.

localize some imports

Remove workaround for issue 12164.

fix property enforcement

std.bitmanip BitArray refactor and various fixes

Recommend using portable std.ascii.newline for line terminator

Also document 'lines' constructor.

Note that readln() cannot support string terminators

Don't use std.ascii.newline with text mode

std.getopt: Remove opinionated comment regarding option bundling

The behavior is standard in UNIX programs. Although it wouldn't make sense
to change the default at this point, D documentation is not a good place
for criticizing established standards.

Replace use of T.min to determine signedness with std.traits.isUnsigned.

Make all tests that create a temporary file in the local directory get the path from one central function, so they can be made to use an absolute path

Tweaks to get the tests running inside an Android apk

fix Issue 13258 - std.process file closing logic is incorrect

std.bitmanip BitArray: add function attributes

Remove unused private writefx() function.

This eliminates the 3rd last usage of doFormat in Phobos, thus inching
us closer to fully fixing bug #4532.

Deprecated most of the old std.process functions

I have purposefully omitted doing anything about the exec* function
family here, as their fate is still under discussion.

Fix missing $(RPAREN) in ddoc for std.random.uniform01.

Fix screwed up list nesting in getopt's ddoc comment.

Fix std.string ddoc problems.

Fix missing parameters in ddocs for indexOfAny, indexOfNeither, etc..
Fix missing closing ')' which causes ddoc nesting error.

This should get rid of the warnings spewed by the compiler when building
the docs for `std.string`.

Mark std.file.getSize as trusted

Use nested trusted function

fix issue 9942 - Add a functional switch function

std.algorithm.predSwitch is the functional version of the `switch`
statement(without a lookup table).

Add missing imports

Remove unused test in std.process

This seems like a remnant from when the first version of std.process was
being developed.  It does not appear to be in use today, so there is no
reason to keep it around.

Ddoc for map() should be associated with the function itself.

Do the same for amap and reduce, for consistency's sake.

[Refactoring] Make unittest exhaustive

fix Issue 13284 - Cannot match shared classes at receive

Fixed std.process.system() deprecation message

wait(spawnProcess(command)) is a closer match to system(command).

attributes and two small bug fixes for csv

some more

some reverts

nitpick

csv love update

forgot some

added one nogc

some more

fix Issue 13263

- replace phony druntime_libs target with $(DRUNTIME)

- add fake FORCE dependency to always invoke druntime's makefile

unittest objects also depend on druntime

- for the druntime imports

fix Issue 12297 - std.typecons.Proxy does not properly forward IFTI calls

findRoot fix

Update numeric.d

Update numeric.d

clear comment

rebase

Replace use of FracSec in SysTime's API with Duration.

FracSec is overly verbose and based on the recent discussions with
regards to Duration.get and Duration.split, it should be given the boot.
The only non-deprecated place which uses it in Phobos is SysTime, so
this deprecates the functions that use it, and replaces it with ones
that expect a Duration of less than one second.

This means replacing a SysTime constructor and SysTime's fracSec
property. fracSecs is introduced to replace fracSec. It uses a Duration
or takes a template argument for the units and then uses an int
(essentially then creating an overload which is a shortcut for calling
Duration.total or creating a Duration, depending on whether its the
getter or the setter).

Replace fracSecToISOString and fracSecFromISOString.

Replace uses of FracSec.from!"msecs" with core.time.msecs.

Replace uses of FracSec.from!"msecs" with core.time.msecs.

Replace uses of FracSec.from!"usecs" with core.time.usecs.

Replace uses of FracSec.from!"hnsecs" with core.time.hnsecs.

Replace uses of FracSec.from!"hnsecs" with core.time.hnsecs.

Replace uses of FracSec.from!"hnsecs" with core.time.hnsecs.

Remove last undeprecated uses of SysTime.fracSec.

Clean up uses of zero-length Durations.

Cleanup of a version-else block in std.datetime so that it has an else.

Added toString to Appender class

Improve implementation.

Add unittest.

Appender.toString shouldn't pretend it's an array.

So it should still print "Appender!(...)(...)" except that it will now
print the array contents instead of a random memory address.

More concise way to achieve the same thing.

Deprecate execv function family on Windows

For the discussions that led to the decision of deprecating these
functions on Windows, but not POSIX, see:

http://forum.dlang.org/thread/l4nav4$q9r$1@digitalmars.com
http://lists.puremagic.com/pipermail/phobos/2014-August/008827.html

Added deprecation message details to execv*()

Add `pure`/`nothrow`/`@nogc` attributes to `std.socket`.

Also add `in` parameter storage class to `validHostent` function.
Also add attributes to `std.c.windows.winsock`.

Make `getnameinfo`, `getaddrinfo`, and `freeaddrinfo` pointers `immutable`.

Add `@safe`/`@trusted`/`@system` attributes to `std.socket`.

[Fix][DDoc] Add missing third `/` to DDoc comment.

[Fix] Fix `SocketSet.count` return type.

Fix property enforcement in `std.traits.functionAttributes`

Fix ddoc params abuse in std.net.curl.HTTP.onProgress.

Fix ddoc params abuse for std.net.curl.FTP.onProgress.

Refactor callback params as macro to minimize copy-n-paste.

Fix ddoc params abuse in std.net.curl.SMTP.onProgress.

Fix mismatching param name.

Reenable ancient failing unittest.

Fix unittest to not require unreasonable amounts of stack space.

Fix issue 12890 - index based replace

fix Issue 13315 - std.getopt: implicit help option doesn't work without config.passThrough

fix Issue 13316 - std.getopt: implicit help option breaks the next argument

fix Issue 13317 - std.getopt: endOfOptions broken when it doesn't look like an option

whoops, forgot one ++i

Workaround deprecation of splitter.{back,popBack} in std.algorithm.map.

Simplify partialShuffle

Issue# 13319. Make tzDatabaseNameToWindowsTZName return null on failure.

Update the Windows TZ name conversions.

I also added a script at the bottom of std.datetime which can be used to
regenerate the conversions from the latest conversion file at
unicode.org so that it will be much easier to make such updates in the
future.

Fix issue# 13313: Line Islands Standard Time was missing.

It's included in this update http://support.microsoft.com/kb/2981580 but
has yet to make it into
http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/zone_tzid.html

Fix compilation errors on Windows.

hasElaborateAssign -> hasElaborateCopyConstructor.

Corrected check for elaborate copying.

fix Issue 13241 - [REG2.067a] writeln no longer flushes stdout

fix up issue 13313 - Support database name to Windows timezone name conversion

Change SysTime.fracSec to "scheduled for deprecation" from deprecated.

Vladamir has a use case where the deprecation gives him a wall of
deprecation messages, and because he needs to use both 2.066 and master,
he can't move his code over to fracSecs yet. So, I'm changing the
deprecation to "scheduled for deprecation" for one release. And because
of this case, I think that I'm going to change the general policy to
"scheduling for deprecation" for one release before actually deprecating
a symbol. The fact that deprecated just generates a message mostly
obviates the need for "scheduling for deprecation" like we used to do,
but with this change, it will give folks one release to avoid the wall
of deprecation messages if they happen to use the deprecated symbol a
lot (or just once in a frequently instantiated template as in Vladamir's
case). It probably won't do anything for anyone who doesn't read the
changelog, but it will help out the folks who do.

Fix variant.d typo

Mark std.file.getTimesWin as safe

Mark a unittest for std.file.getSize as safe

Enable safe ctor, add example

Document isEmpty and make property

Support transfer to unique base class

Note: Implicit return of a Derived lvalue -> Base is not supported.
Note: We don't need to disable the ref overload because postblit is
disabled now.

Add factory unique() for safe construction with 0 arguments

Clarify release docs

Support assignment from compatible Unique type

Add example test for borrowing Unique by ref

Replace unique() with Unique.create() for clarity

The former does not imply a heap allocation.

Document RefT

Version out Unique.create

Leave this for now in case we get language support for checking
uniqueness.

Merge pull request #2303 from 9rnsr/fix_hash

Tweak Tuple and Variant for correct hashing

Merge pull request #2314 from 9rnsr/fix13074

Supplemental fix for issue 13074 - revert opEquals and add toHash in std.typecons.Tuple

Merge pull request #2377 from Dicebot/fix-13210-makefile-dll

[reg] Fix 13210 : libphobos2.so not being built

Merge pull request #2387 from MartinNowak/fixup2377

fixup #2377 - add back missing $(SONAME) symlink