| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
* add approxequal
* Address review comments, tests that pass
* more wikipedia links [ci skip]
* forgot since
Co-authored-by: b3liever <b3liever@yandex.com>
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
|
|
|
|
|
|
| |
* fixes #15413
* better hide it properly
* see if this makes our list of important packages happy
|
|
|
|
|
|
|
| |
* Make default state public
* Address review comments
Co-authored-by: b3liever <b3liever@yandex.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* * Add handle to dup and dup2 posix as duplicate and duplicateTo in std/ioutils.
* Added small test & changelog entry
* Fixed import in tioutils
removed when isMainModule
* * Nest test inside block. Rename proc var -> let in captureStdout
* Renamed tmpfile to iotuils.txt
* Added block: # duplicate, duplicateTo
* Improved docstring
* Clean non-idiomatic code
* Added runnable examples
* rm 2 trailing space in expected output
* Made syntax prettier
* Runnable example: file in getTempDir()
* Tmp -> Temp
* Fixed runnableExamples on windows
|
|
|
|
|
|
|
|
|
| |
* ReSync with Devel
* Fix prelude for JS target
* ReSync devel
* Fix prelude for JS target
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* Assign hook name changed to `=copy`
* Adapt destructors.rst
* [nobackport] Duplicate tests for =copy hook
* Fix tests
* added a changelog entry
Co-authored-by: Clyybber <darkmine956@gmail.com>
|
|
|
|
|
| |
* suggest: try to find the implementation of a symbol when def is used
* suggest: return all declarations of the symbol on `def`
|
|
|
|
|
| |
* Make useVersion:1.0 disable the proc arg sym change
* Also do this for useVersion:1.2
|
|
|
|
|
| |
* os: add overload copyFile*(source, dest: string, isDir = false)
* renamed to copyFileToDir
|
|
|
|
|
|
|
|
|
| |
* changelog.md: Group the new `to` procs [ci skip]
This also moves the `critbits.toCritBitTree` entry from the "Language
Changes" section to the "Standard library additions and changes"
section.
* changelog.md: Remove extra space
|
| |
|
|
|
|
|
|
|
|
|
| |
* implements https://github.com/nim-lang/RFCs/issues/258
* don't be too strict with custom pragma blocks
* cast pragmas: documentation
* added most missing inference query procs to effecttraits.nim
|
| |
|
|
|
|
|
|
|
|
|
| |
Similar to:
- `critbits.toCritBitTree`
- `deques.toDeque`
- `sets.toHashSet`
- `tables.toTable`
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
|
|
|
|
|
|
| |
Similar to:
- `critbits.toCritBitTree`
- `deques.toDeque`
- `sets.toHashSet`
- `tables.toTable`
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add first draft of new osproc.readLines
* Add test for new osproc.readLines
* Rename test to start w/t to run; Also add newline to output
* Suppress hint messages.
* Output should match this time.
* Shoulda picked a program with simpler syntax than ..lol
* Address https://github.com/nim-lang/Nim/pull/15429#issuecomment-701890898
and https://github.com/nim-lang/Nim/pull/15429#issuecomment-701985976 by
factoring `readLines` into `iterator lines` and a wrapper `proc`.
* Address https://github.com/nim-lang/Nim/pull/15429#issuecomment-702127289
and also add a `ReadIOEffect` tag to the iterator (called by the wrapper..
so it should need no separate tag, if I understand correctly).
|
|
|
|
|
|
|
| |
* fix #15405
* fix tests
* deepcopy for ARC has to be enabled via --deepcopy:on
Co-authored-by: Araq <rumpf_a@web.de>
|
|
|
|
|
| |
* Add critbits.toCritBitTree
* https://github.com/nim-lang/Nim/pull/15444#discussion_r498035342
|
| |
|
| |
|
|
|
|
|
| |
* .noalias annotation; frontend support
* added .noalias support to Nim; implements https://github.com/nim-lang/RFCs/issues/204
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add strutils.indentation and make unindent use it
* Code style
* Fix bootstrapping
* Improve wording
* Fix test
* Introduce without breaking change
* Fix
* Reduce diff
* Fix docs link
* Add since annotation
* Update changelog
|
|
|
|
|
|
|
| |
* Add missing attributes and methods to dom.Navigator
* Add missing attributes and methods to dom.Navigator
* Add missing attributes and methods to dom.Navigator
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add some enhancements to `jsonutils.nim`
* Use `jsonutils.nim` hookable API to add a possibility to deserialize
JSON arrays directly to `HashSet` and `OrderedSet` types and
respectively to serialize those types to JSON arrays.
* Also add a possibility to deserialize JSON `null` objects to Nim
option objects and respectively to serialize Nim option object to JSON
object if some or to JSON `null` object if none.
* Move serialization/deserialization functionality for `Table` and
`OrderedTable` types from `jsonutils.nim` to `tables.nim` via the
hookable API.
* Add object `jsonutils.Joptions` and parameter from its type to
`jsonutils.fromJson` procedure to control whether to allow
deserializing JSON objects to Nim objects when the JSON has some
extra or missing keys.
* Add unit tests for the added functionalities to `tjsonutils.nim`.
* improve fromJsonFields
* Add changelog entry for the jsonutils enhancements
* Add TODO in `jsonutils.nim`
* Added an entry to "Future directions" section in `jsonutils.nim` as
suggestion for future support of serialization and de-serialization of
nested variant objects.
* Added currently disabled test case in `tjsonutils.nim` for testing
serialization and de-serialization of nested variant objects.
* Move JSON hooks to `jsonutils.nim`
Move `fromJsonHook` and `toJsonHook` procedures for different types to
`jsonutils.nim` module to avoid a dependency of collections modules to
the `json.nim` module.
The hooks are removed from the following modules:
* `tables.nim`
* `sets.nim`
* `options.nim`
* `strtabs.nim`
* Add some tests about `StringTableRef`
Add tests for `StringTableRef`'s `fromJsonHook` and `toJsonHook` to
`tjsonutils.nim`.
* Disable a warning in `jsonutils.nim`
Mark `fun` template in `jsonutils` module with `{.used.}` pragma in
order to disable `[XDeclaredButNotUsed]` hint. The template is actually
used by the `initCaseObject` macro in the same module.
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
|
|
|
|
|
|
|
| |
* add getprotobyname
* tests, docs, changelog
* add since
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* std/with support filed assign
* add changelog
* add support x.dup.with
* add example
* revert support x.dup.with; add example
* update changelog; fix assignment in parameter
* Update changelog.md
* add example for assignment in parameter
* Remove colon style assign
Co-authored-by: Clyybber <darkmine956@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit polishes the new proc introduced by d9ed816b10a6.
Changes:
- Rename to `toDeque` for more consistency with well-known procs like
`toHashSet` and `toTable`.
- Rename the `openArray` parameter. The name `arr` was potentially less
clear given that the proc can be used with a seq (or string).
- Add a `since` annotation.
- Reword the doc comment, and clarify that ordering is preserved.
- Add runnableExamples.
- Add "see also" cross linking between `initDeque` and `toDeque`.
- Remove duplicate `nextPowerOfTwo`. The `initImpl` template already
includes it.
- Implement the proc using the `items` iterator, rather than indexing.
This matches the implementation of `sets.toHashSet` and
`tables.toTable`.
- Add a test within `when isMainModule`.
- Add a changelog entry.
|
|
|
|
|
|
|
| |
* improve epoll docs
* export handles
* add comments and changelog
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix forward declaration issues in template/macro context
* Correct forward declaration resolving for overloads
* Remove old dead code
* WIP consistent gensym ids
* Minimize diff
* Remove obsoleted hack
* Add templInstCounter to give unique IDs to template instantiations
* Remove obsoleted code
* Eh, init in myOpen, not myProcess...
* Remove optNimV019
* Add testcase for #13484
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#15104)
request. This can be conceived as an alternate, more capable resolution of
https://github.com/nim-lang/Nim/issues/12200
than
https://github.com/nim-lang/Nim/pull/12208
The code re-org idea here is to upgrade tablimpl.nim:`delImpl`/`delImplIdx`
to abstract client code conventions for cell emptiness & cell hashing via
three new template arguments - `makeEmpty`, `cellEmpty`, `cellHash` which
all take a single integer argument and clear a cell, test if clear or
produce the hash of the key stored at that index in `.data[]`.
Then we update the 3 call sites (`Table`, `CountTable`, `SharedTable`) of
`delImpl`/`delImplIdx` by defining define those arguments just before the
first invocation as non-exported templates.
Because `CountTable` does not save hash() outputs as `.hcode`, it needs a
new tableimpl.nim:`delImplNoHCode` which simply in-lines the hash search
when no `.hcode` field is available for "prefix compare" acceleration.
It is conceivable this new template could be used by future variants, such
as one optimized for integer keys where `hash()` and `==` are fast and
`.hcode` is both wasted space & time (though a small change to interfaces
there for a sentinel key meaning "empty" is needed for maximum efficiency).
We also eliminate the old O(n) `proc remove(CountTable...)` in favor of
simply invoking the new `delImpl*` templates and take care to correctly
handle the case where `val` is either zero for non-existent keys in `inc`
or evolves to zero over time in `[]=` or `inc`.
The only user-visible changes from the +-42 delta here are speed, iteration
order post deletes, and relaxing the `Positive` constraint on `val` in
`proc inc` again, as indicated in the `changelog.md` entry.
|
|
|
|
| |
code compatibility (#15105)
|
|
|
|
|
| |
* strict func: much better error messages
* documented the 'strict funcs' mode
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* remove a condition that table size must be passed as power of 2
* remove power-of-2 condition from sets and sharedtables
* remove power-of-2 condition from deques
* use 'correctSize' for both branches
* prettify changelog.md and fix typos
* add a changelog entry
* fix double-call of 'right-size'
* fix the same thing in sets.nim
* introduce a new internal proc `slotsNeeded`
Deprecate the public proc `rightSize`, which is not needed anymore.
Now it is an identity function, allowing the old code to work
correctly and without extra allocations.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
| |
|
| |
|
|
|
|
|
| |
of `"(tuple of (int, float), int)" (#14812)
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
| |
|
|
|
| |
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
|
|
|
|
|
|
|
|
| |
* fix #14846; add macros.extractDocCommentsAndRunnables
* fixup
* update tests
* address comment
|