-
-
Notifications
You must be signed in to change notification settings - Fork 694
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix unittest associative array opCmp #1827
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
andralex
added a commit
that referenced
this pull request
Jan 1, 2014
fix unittest associative array opCmp
9rnsr
added a commit
that referenced
this pull request
Jul 9, 2014
Supplemental fix for issue 13074 - Revert "Merge pull request #1827 from WalterBright/add-opCmp"
9rnsr
added a commit
to 9rnsr/phobos
that referenced
this pull request
Jul 11, 2014
Supplemental fix for issue 13074 - Revert "Merge pull request dlang#1827 from WalterBright/add-opCmp"
garlic-flavor
pushed a commit
to garlic-flavor/phobos
that referenced
this pull request
Nov 22, 2014
garlic-flavor
pushed a commit
to garlic-flavor/phobos
that referenced
this pull request
Nov 22, 2014
…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 dbdcb2b. 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 dlang#1827 from WalterBright/add-opCmp" This reverts commit dab1796, reversing changes made to 327085b. [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 dlang#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 dlang#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 dlang#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 dlang#2303 from 9rnsr/fix_hash Tweak Tuple and Variant for correct hashing Merge pull request dlang#2314 from 9rnsr/fix13074 Supplemental fix for issue 13074 - revert opEquals and add toHash in std.typecons.Tuple Merge pull request dlang#2377 from Dicebot/fix-13210-makefile-dll [reg] Fix 13210 : libphobos2.so not being built Merge pull request dlang#2387 from MartinNowak/fixup2377 fixup dlang#2377 - add back missing $(SONAME) symlink
garlic-flavor
pushed a commit
to garlic-flavor/phobos
that referenced
this pull request
Nov 22, 2014
…nversionList. 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 dlang#2225 from tom-tan/trusted-stdio-LockingTextWriter-put" It broke win32 build. This reverts commit dc0b441, reversing changes made to 285d027. 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 dbdcb2b. 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 dlang#1827 from WalterBright/add-opCmp" This reverts commit dab1796, reversing changes made to 327085b. [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 dlang#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 dlang#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 dlang#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 dlang#2303 from 9rnsr/fix_hash Tweak Tuple and Variant for correct hashing Merge pull request dlang#2314 from 9rnsr/fix13074 Supplemental fix for issue 13074 - revert opEquals and add toHash in std.typecons.Tuple Merge pull request dlang#2377 from Dicebot/fix-13210-makefile-dll [reg] Fix 13210 : libphobos2.so not being built Merge pull request dlang#2387 from MartinNowak/fixup2377 fixup dlang#2377 - add back missing $(SONAME) symlink
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Necessary for dlang/dmd#3054