| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add test cases
* Implement contains for CacheSeq
* Implement contains for CacheTable
* Fix implementation of hasKey
* Remove contains for CacheSeq
Fix runnable examples
I was accidently using --doccmd:skip so I didn't spot the failure locally
* Implement hasKey as a VM callback instead of magic
* Implement suggestions from PR
Co-Authored-By: ringabout <ringabout@users.noreply.github.com>
* Update lib/core/macrocache.nim
---------
Co-authored-by: ringabout <ringabout@users.noreply.github.com>
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
|
|
|
|
|
|
|
| |
* fixes #14409; fixes#10674 VM callbacks switch to table-index seqs
* fixes package name
* reduce runtime cost
|
|
|
|
|
| |
fixes #18134; registers formatBiggestFloat in vmops
strformat supports float format in VM
|
|
|
|
|
| |
* remove legacy code
* fixes
|
|
|
|
|
| |
* disable "Warning: gc is deprecated" in compiler
* Apply @tersec 's suggestion
|
|
|
|
|
| |
* fix #21045 getTime with vmopsDanger is broken; alternative to #21054
* typo
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
* [std/os] split and export
* move to private modules
* fixes docs and tests
Co-authored-by: xflywind <43030857+xflywind@users.noreply.github.com>
|
|
|
|
|
| |
* refactor envvars, oserrors; register vmops
* remove type definitions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* move formatfloat out of system
* fixes doc
* Update changelog.md
* careless
* fixes
* deprecate system/formatfloat
* better handling
|
|
|
|
|
| |
* bootstrap the compiler with nimPreviewSlimSystem
* threads
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* .forbids pragma: defining illegal effects for proc types
This patch intends to define the opposite of the .tags pragma: a way to define effects which are not allowed in a proc.
* updated documentation and changelogs for the forbids pragma
* renamed notTagEffects to forbiddenEffects
* corrected issues of forbids pragma
the forbids pragma didn't handle simple restrictions properly and it also had issues with subtyping
* removed incorrect character from changelog
* added test to cover the interaction of methods and the forbids pragma
* covering the interaction of the tags and forbids pragmas
* updated manual about the forbids pragma
* removed useless statement
* corrected the subtyping of proc types using the forbids pragma
* updated manual for the forbids pragma
* updated documentations for forbids pragma
* updated nim docs
* updated docs with rsttester.nim
* regenerated documentation
* updated rst docs
* Update changelog.md
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
* updated changelog
* corrected typo
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Change `styleCheck` to ignore foreign packages
* Symbols from foreign packages are now ignored.
* Fixed `styleCheck` violations in `compiler` package.
* Added symbol ownership to custom annotation pragmas.
* Minor refactors to cleanup style check callsites.
* Minor internal documentation of reasons why a symbol isn't checked.
Style violations were fixed in the compiler after thet were exposed by
the changes. The compiler wouldn't compile otherwise.
Symbol ownership for custom pragma annotations is needed for checking
the annotation's style. A NPE was raised otherwise.
Fixes #10201
See also nim-lang/RFCs#456
* Fix a misunderstanding about excluding field style checks
I had refactored the callsites of `styleCheckUse` to apply the DRY
principle, but I misunderstood the field access handling in a template
as a general case. This corrects it.
* Fix some `styleCheck` violations in `compiler/evalffi`
The violations were exposed in CI when the compiler was built with
libffi.
* Removed some uneeded transitionary code
* Add changelog entry
Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
|
|
|
| |
refactor stdlib.marshal.load
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* register callback for marshal in VM
* remove unrelated code
* polish
* more tests
* more tests
* add loadVM and toVM
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* move io out of system
* fix tests
* fix tests
* next step
* rename to syncio
* rename
* fix nimscript
* comma
* fix
* fix parts of errors
* good for now
* fix test
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Use openarray of bytes in md5
* fix CI
* cleanup
* use noSideEffect for bootstrapping
* fix CI again
* actually fix CI by checking if it works
* this is getting ridiculous
* put old md5 version in compiler, remove vmop
|
|
|
|
|
| |
* envPairs works in vm, nims
* fixup
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* compiler/vmhooks: add getVar to allow vmops with var params
* addFloat vmops with var param
* cgen now renders float32 literals in c backend using roundtrip float to string
|
| |
|
|
|
|
|
|
|
| |
* enable VM tracing in user code via `{.define(nimVmTrace).}`
* add vmutils.vmTrace
* add vmTrace
|
|
|
|
|
|
|
|
|
|
|
| |
info to successx, add gc to compilesettings (#18252)
* merge BuildMode into SuccessX, add more info
* refactor duplicated with drnim
* fixup
* address comment
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bsd (#17902)
* [WIP] bring back std/ prefix within compiler and ensure it works in bootstrap + bsd
* refs https://github.com/nim-lang/Nim/pull/16282#discussion_r616846863
* sounds very similar to https://github.com/nim-lang/Nim/pull/14291
* more: vmops
* update tools/ci_generate.nim
* auto-generate freebsd.yml as well, to avoid duplication with openbsd.yml
* cleanup
* undo temporary CI removal
|
|
|
|
|
|
|
|
| |
* CIs: attempt to use csources_v1
* also updated the BSDs
* also updated azure pipelines
* std modules should not itself use the 'std/' import dir...
* compiler has to be careful with std/ for v1 booting
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fix nim js cmp fails at CT
* Add `hasClosure` to `std/effecttraits`
* type
* Update changelog.md
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
* Update lib/std/effecttraits.nim
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
| |
|
|
|
|
|
| |
* fix js unsigned integer
* Use `std` prefix for standard library modules
* fix #17118
|
|
|
|
| |
* make system random work in VM
|
|
|
|
|
|
|
|
|
|
|
| |
* compilesettings: add libpath
* add test
* changelog
* fixup
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
|
|
|
|
|
|
| |
* fix #16815 round+places works again in vm
* improve tests; fix for linux 32bit
* fix test for windows
|
| |
|
|
|
|
|
| |
* add math.copySign
* fix + tests
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* refactoring: idents don't need inheritance
* refactoring: adding an IdGenerator (part 1)
* refactoring: adding an IdGenerator (part 2)
* refactoring: adding an IdGenerator (part 3)
* refactoring: adding an IdGenerator (part 4)
* refactoring: adding an IdGenerator (part 5)
* refactoring: adding an IdGenerator (part 5)
* IdGenerator must be a ref type; hello world works again
* make bootstrapping work again
* progress: add back the 'exactReplica' ideas
* added back the missing exactReplica hacks
* make tcompilerapi work again
* make important packages green
* attempt to fix the build for 32 bit machines (probably need a better solution here)
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
`--doccmd:skip` + other improvements (#14278)
* `nim doc --backend:js|cpp...`
`nim doc --doccmd:'-d:foo --threads:on'`
`nim r --backend:cpp...` (implies --run --usenimcache)
* --usenimcache works with all targets
* --docCmd:skip now skips compiling snippets; 50X speedup for doc/manual.rst
|
|
|
|
| |
works even if implicitly set (#14277)
|
|
|
| |
* add --experimental:vmopsDanger; vmops cleanups
|
| |
|