| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
* fix parsesql.treeRepr when nil is in input
* return newNode(nkNone) as default value, not nil
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Nim 1.4.x compiled the below code without error when using
`--experimental:strictFuncs`
import std/sequtils
type Foo = ref object
let foo1 = Foo()
let foo2 = Foo()
let foos = @[foo1, foo2]
let fooTuples = @[(foo1, 1), (foo2, 2)]
discard repeat(foo1, 3)
discard zip(foos, foos)
discard unzip(fooTuples)
However, since 2020-12-09, devel Nim produced errors like
/tmp/bar.nim(11, 15) template/generic instantiation of `repeat` from here
/foo/nim/pure/collections/sequtils.nim(172, 6) Error: 'repeat' can have side effects
an object reachable from 'x' is potentially mutated
/foo/nim/pure/collections/sequtils.nim(183, 15) the mutation is here
/foo/nim/pure/collections/sequtils.nim(183, 15) is the statement that connected the mutation to the parameter
This commit reverts some `proc` to `func` changes so that code that:
- calls `repeat`, `zip`, or `unzip`
- and instantiates them with types containing `ref`
can once again be compiled with `strictFuncs`. Otherwise, a user might
be forced to drop or alter their `strictFuncs` use when upgrading from
Nim 1.4.x, or when writing new code that uses these procedures (at least
for now, with the current `strictFuncs` implementation).
This commit also adds tests to assert that the remaining funcs in this
module can be compiled with `strictFuncs` when used with types
containing `ref`.
The original batch of `proc` to `func` changes in `sequtils.nim` was in
commit 6f57ebae349f, which was partially reverted in 38eb021f8158.
See also: https://github.com/nim-lang/Nim/issues/16305
|
| |
|
| |
|
|
|
|
| |
(#18970)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fixed `strictFuncs` support for `std/pegs`
Enabled `std/pegs` in the `strictFuncs` import test.
Fixes #18057
Fixes #16892
See #18111
* Rebased from `devel`
* Conditionally compile `std/pegs` in `koch`
This is for supporting `csources` bootstrap.
Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
|
| |
|
| |
|
|
|
|
|
|
| |
* rename nimEnableHashRef [backport]
* Apply suggestions from code review
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
|
|
|
|
|
|
|
| |
* Add support for `strictEffects` to `std/pegs`
* Fixed support of older Nim versions
Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
|
|
|
|
|
| |
* enable nimPreviewJsonutilsHoleyEnum [backport]
* docuement nimPreviewJsonutilsHoleyEnum
|
| |
|
|
|
|
|
| |
* fix #16558
* add testcase
|
|
|
|
|
| |
* fixed #18841
* Added test
|
|
|
|
|
| |
* envPairs works in vm, nims
* fixup
|
|
|
|
|
| |
* fixes 'lent T' inside object constructor [backport]
* progress
|
|
|
|
|
| |
* closes #18690
* don't allow capturing of view types [backport]
|
|
|
|
|
|
|
|
|
|
|
| |
* correct effect tracking for .borrowed procs [backport]
* progress
* fix error message in a test
* correctly fix it
Co-authored-by: narimiran <narimiran@disroot.org>
|
|
|
|
|
| |
* closes #16132 [backport]
* fixes #16132 [backport]
|
| |
|
| |
|
|
|
|
|
|
|
| |
* fixes #18858 [backport]
* ensure async tests work with --experimental:strictEffects [backport]
* ensure async tests work with --experimental:strictEffects [backport]
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
* more precise logic for pointer procs
* added test for generic pointer procs
* Fixed generic getting bracket expr if erroring
|
|
|
|
|
|
|
| |
* improved built in typeclass inference
* Smarter logic to fit node
* Forgot the untyped check
|
|
|
|
|
|
|
|
|
| |
* fix upstream changes
* Update tests/js/tunittest_error2.nim
Co-authored-by: flywind <xzsflywind@gmail.com>
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* Fixes implicit and explicit generics
* moved block logic into 'maybeInstantiateGeneric'
* Added more tests
* Update compiler/semexprs.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fixes #12642
* update important packages; refs #18804
* fixes #18805; refs #18806
* fixes a regression
* Update testament/categories.nim
Co-authored-by: flywind <xzsflywind@gmail.com>
* progress
* progress
Co-authored-by: flywind <xzsflywind@gmail.com>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* remove channels
* test
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* implemented Unicode operators; refs https://github.com/nim-lang/RFCs/issues/388
* bugfix
* better test
* arguably more elegant implementation
* Update changelog.md
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix initrand to avoid random number sequences overlapping
* Minor fix
* Fix compile error on js backend
* Disable new test for js backend
* Minor fix
* tempfiles module uses random.initRand()
* Remove unused module import from lib/std/tempfiles.nim
* Initialize baseState in initRand()
* Run tests/stdlib/trandom.nim from tests/test_nimscript.nims
* baseState is initialized only with sysrand.urandom and quit if failed
* Add comments
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fixes #17369
* megatest is green for --cpu:arm64
* docgen output includes more tags/raises
* implemented 'effectsOf'
* algorithm.nim: uses new effectsOf annotation
* closes #18376
* closes #17475
* closes #13905
* allow effectsOf: [a, b]
* added a test case
* parameters that are not ours cannot be declared as .effectsOf
* documentation
* manual: added the 'sort' example
* bootstrap with the new better options
|
|
|
|
|
|
|
|
|
|
|
| |
cut the iterator yield into half) (#18767)
* test someSymFromImportTable
* Update compiler/lookups.nim
* test nkTupleConstr
* use isConstExpr
* add tests
* add comments and todo
* use todo
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Implement RFC 413
* Implement RFC 413
* Implement RFC 413
* Implement RFC 413
* https://github.com/nim-lang/Nim/pull/18749#discussion_r696320995
* Update lib/js/dom_extensions.nim
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* Update lib/js/dom_extensions.nim
* https://github.com/nim-lang/Nim/pull/18749#discussion_r696913310
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|