summary refs log tree commit diff stats
path: root/lib/pure
Commit message (Collapse)AuthorAgeFilesLines
* tables.nim: Add named fields in `smallest` and `largest` (#14919)ee72020-07-061-2/+2
| | | | | | | | | | The `smallest` and `largest` procs for `CountTable` returned a tuple with named fields, but the same procs for `CountTableRef` returned an anonymous tuple. This commit makes those `CountTableRef` procs more consistent, and adds a test. Fixes: #14918
* Fix style inconsistencies due to the previous commitnarimiran2020-07-064-67/+67
|
* revert 0944b0f4narimiran2020-07-064-67/+67
|
* Fix logging tiny bug (#14910)Juan Carlos2020-07-061-3/+7
| | | | | | | | | | | | | | | | | | | * Fix logging tiny bug * Update changelog.md Co-authored-by: Danil Yarantsev <tiberiumk12@gmail.com> * Update changelog.md Co-authored-by: Danil Yarantsev <tiberiumk12@gmail.com> * Update changelog.md Co-authored-by: Danil Yarantsev <tiberiumk12@gmail.com> * https://github.com/nim-lang/Nim/pull/14910#discussion_r450012032 Co-authored-by: Danil Yarantsev <tiberiumk12@gmail.com>
* deprecate existsDir; use dirExists instead (#14884)Timothee Cour2020-07-032-18/+12
|
* {.deprecated: [existsFile: fileExists].} (#14735)Timothee Cour2020-07-024-21/+20
| | | | | | | | | * {.deprecated: [existsFile: fileExists].} * s/existsFile/fileExists/ except under deps * workaround pending #14819 * fix test
* Clean out sharedlists (#14857)Juan Carlos2020-07-021-6/+0
|
* Clean out strutils (#14859)Juan Carlos2020-07-011-5/+0
| | | Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* fix #14846; add macros.extractDocCommentsAndRunnables (#14849)Timothee Cour2020-07-011-3/+3
| | | | | | | | | * fix #14846; add macros.extractDocCommentsAndRunnables * fixup * update tests * address comment
* Clean out sharedtables (#14858)Juan Carlos2020-06-301-10/+0
| | | Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* Removed asyncdispatch.newAsyncNativeSocket, was deprecated since 0.18 (#14854)Juan Carlos2020-06-301-10/+0
| | | Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* typetraits: features and fixes (#14791)alaviss2020-06-301-3/+39
| | | | | | | | | | | | | * typetraits: add support for nnkTypeOfExpr * typetraits: don't wrap typedesc symbols in StaticParam * typetraits: add nested generics support to genericParams * typetraits: make genericParams understand array[I, T] whackiness Also moved tests to ttypetraits * typetraits: clarify comment on genericParams
* Fix asyncdispatch drain behavior (#14820) (#14838)Ray Imber2020-06-301-4/+9
| | | | | | | | | | | * Fix asyncdispatch drain behavior (#14820) * Changed test to use asyncCheck instead of discard after code review (#14820) * Added some debug statements to help understand what is happening in Azure. * Removed debug statements and increased timeouts by 1 order of magnitude to account for slow Azure VMs Co-authored-by: Ray Imber <ray@crankuptheamps.com>
* add debug fmt string like python's (#14808)flywind2020-06-301-2/+12
| | | | | | | * add debug format string * remove try except * add changelog
* fix #13432 typetraits.$: $(int,) is now (int,); $tuple[] is now tuple[] (#14799)Timothee Cour2020-06-291-21/+0
| | | | | * typetraits.$: $(int,) is now (int,); $tuple[] is now tuple[] * changelog
* SSL_CTX_load_verify_locations parameters are reversed (#14815) [backport]aguspiza2020-06-291-1/+1
|
* fixed #14839 (#14840)lqdev2020-06-281-1/+2
|
* add a second asyncnet.recvFrom (#14237)rockcavera2020-06-272-18/+85
| | | | | | | | | * add a second asyncnet.recvFrom * fixes * pre-allocating address * add a new nativesockets.getAddrString()
* turn 'runnableExample' into 'code-block' to make nightlies greennarimiran2020-06-251-9/+12
| | | | | This example doesn't work on our nightlies CI. Other procs in this module already use 'code-block'.
* add typetraits.elementType (#14780)Timothee Cour2020-06-241-0/+12
| | | | | * add typetraits.elementType * add a test for 0-sized seq
* fixes #14760 (#14769)Andreas Rumpf2020-06-231-1/+1
|
* init checks and 'out' parameters (#14521)Andreas Rumpf2020-06-239-22/+48
| | | | | | | | | | | * I don't care about observable stores * enforce explicit initializations * cleaner code for the stdlib * stdlib: use explicit initializations * make tests green * algorithm.nim: set result explicitly * remove out parameters and bring the PR into a mergable state * updated the changelog
* Deprecate and/or remove ospaths (#14767)Juan Carlos2020-06-232-2/+2
|
* added normal variate function (#14725)b3liever2020-06-221-1/+42
| | | | | | | * added normal variate function * change method only slightly faster * changelog + since Co-authored-by: b3liever <b3liever@yandex.com>
* [backport] Docs: Fix broken `code-block` (#14749)ee72020-06-222-25/+25
| | | | | | | | This commit indents the contents of a `code-block` in `httpclient.nim` so that it displays correctly. The bug was introduced by 42a64245f8. I did a quick search for other `code-block`s that are broken in the same way, but the only other one I found (in `pegs.nim`) is not included in the generated documentation.
* encodings: use only one iconv definition [backport:1.2] (#14741)alaviss2020-06-211-18/+15
| | | | | | | | Fix an issue reported on IRC: using encodings with --dynlibOverrideAll result in duplicated iconv definitions, causing compile errors. This commit remove the `var` wrapper of iconv and go all out on pointers, as it should due to how the API accepts nil. Also corrected the API to resemble iconv(3p).
* fix #13899 defer now works with async (#14723)Timothee Cour2020-06-191-0/+3
|
* fixes #14718 [backport]Araq2020-06-191-4/+4
|
* Remove deprecated stuff from stdlib (#14699)Miran2020-06-1713-415/+12
| | | | | | | * update to the latest Jester * remove deprecated procs from some stdlib modules * 'criterion' is not maintained anymore and relies on obsolete stuff
* `addQuitProc` now works with closures, and c, js(node/browser) backend; fix ↵Timothee Cour2020-06-161-28/+0
| | | | | | | | | | | | | | | some bugs in testament (#14342) * make addQuitProc great again * fix bugs in testament * fix test * change 2016 => 2020 * addQuitProc => addExitProc + locks * move to std/exitprocs
* fix #14179, fix #14142, make CI 1.4x faster (2x faster locally) (#14658)Timothee Cour2020-06-161-69/+62
| | | | | | | | | | | | | | | * fix #14142: no more clash with: import os + use of existsDir/dirExists/existsFile/fileExists/findExe in config.nims * remove a comment * Revert "fixes the regression #12860 caused; hotfix" This reverts commit 3d2459bdc0b6d6236a2cd9209ed81c965ee411a5. * Revert "Undefine `paramCount` & `paramStr` in nimscript.nim for *.nims (#12860)" This reverts commit d38853c504d89d6e361f064a17391afaf42d74b8. * noNimScript => noWeirdTarget + noNimJs
* normalizeExe (#14668)Timothee Cour2020-06-151-2/+14
|
* Added --benchmarkVM to times.cpuTime() documentation (#14663)Ico Doornekamp2020-06-151-0/+2
|
* httpcore: Add http code 308 Permanent Redirect (#14639)djazz2020-06-122-1/+3
| | | | | * httpcore: Add http code 308 * httpclient: Add 308 to redirection proc * fix typo
* Add `proc find` to `heapqueue` (#14628)c-blake2020-06-101-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Unwind just the "pseudorandom probing" (whole hash-code-keyed variable stride double hashing) part of recent sets & tables changes (which has still been causing bugs over a month later (e.g., two days ago https://github.com/nim-lang/Nim/issues/13794) as well as still having several "figure this out" implementation question comments in them (see just diffs of this PR). This topic has been discussed in many places: https://github.com/nim-lang/Nim/issues/13393 https://github.com/nim-lang/Nim/pull/13418 https://github.com/nim-lang/Nim/pull/13440 https://github.com/nim-lang/Nim/issues/13794 Alternative/non-mandatory stronger integer hashes (or vice-versa opt-in identity hashes) are a better solution that is more general (no illusion of one hard-coded sequence solving all problems) while retaining the virtues of linear probing such as cache obliviousness and age-less tables under delete-heavy workloads (still untested after a month of this change). The only real solution for truly adversarial keys is a hash keyed off of data unobservable to attackers. That all fits better with a few families of user-pluggable/define-switchable hashes which can be provided in a separate PR more about `hashes.nim`. This PR carefully preserves the better (but still hard coded!) probing of the `intsets` and other recent fixes like `move` annotations, hash order invariant tests, `intsets.missingOrExcl` fixing, and the move of `rightSize` into `hashcommon.nim`. * Fix `data.len` -> `dataLen` problem. * Add neglected API call `find` to heapqueue. * Add a changelog.md entry, `since` annotation and rename parameter to be `heap` like all the other procs for consistency. * Add missing import.
* parseutils: integerOutOfRangeDefect => integerOutOfRangeError (#14627)Timothee Cour2020-06-091-7/+7
|
* `toJson`, `jsonTo`, json (de)serialization for custom types; remove ↵Timothee Cour2020-06-082-31/+31
| | | | | | | | | | | | | | | | | | | | | dependency on strtabs thanks to a hooking mechanism (#14563) * json custom serialization; application for strtabs * serialize using nesting * make toJson more feature complete * add since * Revert "Improve JSON serialisation of strtabs (#14549)" This reverts commit 7cb4ef26addb3bb5ce2405d8396df6fd41664dae. * better approach via mixin * toJson, jsonTo * fix test * address comments * move to jsonutils * doc * cleanups * also test for js * also test for vm
* Fix sugar.dump: It doesn't work correctly with compile time expression (#14580)Tomohiro2020-06-081-1/+1
|
* net: also set TLSv1.3 cipher suitesLeorize2020-06-061-0/+7
|
* net: revert compatibility changes for WindowsLeorize2020-06-061-5/+2
| | | | | This reverts commit d53a6355f3ad4401731142d8fc66b95ecfdfb321 and 688b1f250ed058ecc49737dc75fd089206fa25b9.
* net: use CiphersOld list for WindowsLeorize2020-06-061-1/+4
| | | | | | | The default DLLs shipped are too old, switch to CiphersOld list to ensure compatibility. This commit should be reverted before any future release.
* net: don't call set_ecdh_auto for super old OpenSSLLeorize2020-06-061-1/+1
| | | | | And the fun thing is that currently we use a super old OpenSSL on Windows.
* net: enable automatic EC curve selection for OpenSSL 1.0.2Leorize2020-06-061-0/+7
| | | | | This setting is required for servers running OpenSSL < 1.1.0 to support EC-based secure ciphers that is now part of the default cipher list.
* asyncnet: clear SSL error queue before performing I/OLeorize2020-06-061-0/+1
| | | | Follow up of 476be6cc278d58232e2c6cd3515eb24eca7e2d38
* net: use a secure cipher list by defaultLeorize2020-06-062-1/+53
| | | | | | | | | | | Previously, the `net` module use the blanket "ALL" as the default cipher list. This list may contain security ciphers that are weak and/or outdated according to the current standard. This commit introduces a new module `ssl_config` that contains the latest OpenSSL configurations as recommended by Mozilla OpSec, and make the `net` module use the cipher list targeting `intermediate` compatibility level as the default.
* asyncnet, net: clear openssl error queue before performing I/OLeorize2020-06-062-0/+8
| | | | | | | | | | | | Per SSL_get_error(3): The current thread's error queue must be empty before the TLS/SSL I/O operation is attempted, or SSL_get_error() will not work reliably. There has been records of not clearing the error queue causing weird SSL errors when there shouldn't be any, see: https://github.com/openssl/openssl/issues/11889
* openssl: fix erroneous function signaturesLeorize2020-06-061-2/+0
| | | | Now matches the declaration in openssl/err.h
* net: don't clear error queue unless shutdown() will be performedLeorize2020-06-061-1/+1
|
* Revert "net: don't clear all errors on close"Leorize2020-06-061-0/+1
| | | | | | | You're supposed to clear the error queue before any I/O operations. Per SSL_get_error(3) man page. This reverts commit ee3ed37300743addb1344e39bc46d3cd2b89a718.
* net: don't clear all errors on closeLeorize2020-06-061-1/+0
| | | | | | | Closing a socket clears the error queue of the entire thread, which seems to be a bit too invasive. Also I don't find any reason in the PR that added this.