| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
* make strict funcs analysis smarter: varParam[i] = v is different from varParam[i][] = v
* added a test case
* Update compiler/varpartitions.nim
Co-authored-by: Clyybber <darkmine956@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit attempts to improve testing of strictFuncs and views, and
prevent regressions like #16873 (resolved by 0b01eddace6a).
We previously only explicitly tested strictFuncs and views with a
smaller number of stdlib modules, mostly in:
- tests/effects/tstrict_funcs.nim
- tests/views/tcan_compile_nim.nim
Note that this commit leaves the `pegs` module commented out; it
cannot currently be compiled with `--experimental:views` (see #16892).
Note also that this commit is not sufficient to test strictFuncs and
views, but it does detect a subset of problems.
|
|
|
|
|
|
|
|
|
| |
Previously, compiling a file containing just `import critbits` with
`nim c --experimental:strictFuncs` would produce the following error:
critbits.nim(529, 6) Error: 'toCritBitTree' can have side effects
This was introduced by 2aed4186989e (#16564).
Fixes: #16873
|
| |
|
|
|
|
|
|
|
|
|
| |
* sequtils.nim: proc -> func
* sequtils.nim: proc -> func in links
* sequtils.nim: proc -> func in non-link doc comments
* test: add `sequtils` to strictFuncs test
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* math.nim: procs with {.noSideEffect} -> funcs
* math.nim: procs without {.noSideEffect.} -> funcs
* math.nim: proc -> func in links
* math.nim: proc -> func in doc comments
* test: add `math` to strictFuncs test
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* strutils.nim: procs with {.noSideEffect.} -> func
* strutils.nim: procs without {.noSideEffect.} -> func
* strutils.nim: proc -> func for links
* strutils.nim: proc -> func in doc comments
* test: add strutils to strictFuncs test
* test: proc -> func in errmsg test
|
|
|
|
|
| |
* fix #15851
* {.cast(noSideEffect).}
|
|
|
|
|
| |
* fix #15756
* simplify test
|
| |
|
|
|
|
|
|
|
| |
* views: yet another bugfix
* views: extended the spec
* views: take into account potential hidden mutations via proc calls
|
|
|