| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Per manual, `panics:on` affects _only_ `Defect`:s - thus `sysFatal`
should not redirect any other exceptions.
Also, when `sysFatal` is used in `nimPanics` mode, it should use regular
exception handling pipeline to ensure exception hooks are called
consistently for all raised defects.
|
|
|
|
|
|
| |
fixes #22898
In these cases, the tables/sets are clears or elements are deleted from
them. It's reasonable to suppress warnings because the value is not
accessed anymore, which means it's safe to ignore the warnings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#22895)
fixes #22883
…eDefault` warnings
avoid issues mentioned by https://forum.nim-lang.org namely, it
allocated unnecessary stack objects in the loop
```c
while (1)
{
tyObject_N__8DSNqSGSHBKOhI8CqSgAow T5_;
nimZeroMem((void *)(&T5_), sizeof(tyObject_N__8DSNqSGSHBKOhI8CqSgAow));
eqsink___test4954_u450((&(*t_p0).data.p->data[i].Field1), T5_);
}
```
It might be more efficient in some cases
follow up https://github.com/nim-lang/Nim/pull/21821
|
|
|
|
|
|
|
|
| |
fixes #22856
`-d:nimStrictDelete` is introduced in 1.6.0, which promised to be
enabled in the coming versions. To keep backwards incompatibilities, it
also extends the feature of `-d:nimAuditDelete`, which now mimics the
old behaviors.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Theoretical Benefits / Plans:
- Typed assembler-like language.
- Allows for a CPS transformation.
- Can replace the existing C backend by a new C backend.
- Can replace the VM.
- Can do more effective "not nil" checking and static array bounds
checking.
- Can be used instead of the DFA.
- Easily translatable to LLVM.
- Reasonably easy to produce native code from.
- Tiny memory consumption. No pointers, no cry.
**In very early stages of development.**
Todo:
- [x] Map Nim types to IR types.
- [ ] Map Nim AST to IR instructions:
- [x] Map bitsets to bitops.
- [ ] Implement string cases.
- [ ] Implement range and index checks.
- [x] Implement `default(T)` builtin.
- [x] Implement multi string concat.
- [ ] Write some analysis passes.
- [ ] Write a backend.
- [x] Integrate into the compilation pipeline.
|
|
|
| |
fixes #22554
|
|
|
|
|
|
|
| |
ref #19727
closes #22586
https://github.com/nim-lang/Nim/issues/22554 needs it to move on.
`newSeqUnsafe` can be introduced later.
|
|
|
| |
It's equivalent to `newString`.
|
|
|
|
|
|
| |
Should help with stuff like the checksums package which only takes
`openArray[char]`
Co-authored-by: SirOlaf <>
|
|
|
| |
Causes problems when working with `cstring`s.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Add descriptions for `rawProc` and `rawEnv`. See
<https://forum.nim-lang.org/t/10485> for more informations.
---------
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
Co-authored-by: Juan Carlos <juancarlospaco@gmail.com>
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
|
|
| |
fixes #22700
|
|
|
|
|
|
|
| |
It's used in `newSeqUninitialized`.
---------
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fixes newStringUninitialized; implement `newStringUninitialized`
* add a simple test case
* adds a changelog
* Update lib/system.nim
* Apply suggestions from code review
rename to newStringUninit
|
|
|
|
|
| |
* Markdown code blocks migration part 9
* fix [skip ci]
|
| |
|
|
|
|
| |
strictdefs (#22458)
|
|
|
|
|
| |
* clean up gc:arc/orc in docs
* in error messages
|
|
|
| |
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* implement `ensureMove`
* use an additional flag
* improve some logics
* progress: fixes discard ensureMove
* forbids nested expressions
* improve error messages
* checkpoint
* fixes cursor
* ADD MORE TESTS
* fixes cursorinference again
* tiny cleanup
* improve error messages
* fixes docs
* implement comments add more tests
* fixes js
|
| |
|
| |
|
|
|
| |
* Fix #22273
|
| |
|
|
|
|
|
|
|
| |
* adds =destroy T support for strings and seqs
* fixes system
* fixes tests
|
|
|
|
|
|
|
|
|
| |
* adds T destructor for refs
* add `newRefdestructor`
* adds ref overload for destructors
* fixes config
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* make `move` use `=wasMoved` internally
* fixes tests
* fixes spawn finally
* fixes views
* rename to internalMove
* add a test case
|
|
|
|
|
| |
* small fixes for atomicArc
* Update lib/system/arc.nim
|
|
|
|
|
|
| |
* fixes tests again
* remove helper functions
* fixes closures, owned refs
* final cleanup
|
|
|
|
|
|
|
| |
(#21831)
* improve `wasMoved` hooks
* Because `wasMoved` is lifted
|
|
|
|
|
|
|
|
|
|
|
| |
* adds documentation for `=wasMoved` and `=dup` hooks and small fixes
* Update doc/destructors.md
* Update doc/destructors.md
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* make reset use the `=destroy` and `waMoved` pair
* fixes a space
* fixes `shrink` instead
* tiny fix
* fixes vm
* suppress the annotations since it breaks some important packages
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* import `=dup` hook eliminating `wasMoved` and `=copy` pairs
* add dup
* add a test for dup
* fixes documentation
* fixes signature
* resolve comments
* fixes tests
* fixes tests
* clean up
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fix iterator equality + add test also for procs
fixes #21706
* all targets
* and isNil and repr
* separate overloads, fix sameType
* more restricted sameType?
* merge overloads again??
* remove sametype change for now
* fix sameType anyway (CI failure was not related)
---------
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
document typeclass AST (#21629)
* test fix #16546 #16548 + another issue
* please don't tell me other packages do this
* fix CI + test typeclass callconv pragma
* better logic in parser
* docs and changelog
|
|
|
|
|
|
|
|
|
| |
* Fix example code in system.nim
* Add example code to lib/system.nim
* Fix compile error
* Fix example code that can be unsafe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add support for NuttX RTOS.
Signed-off-by: Takeyoshi Kikuchi <kikuchi@centurysys.co.jp>
* lib: pure: asyncdispatch: assign to result.
Signed-off-by: Takeyoshi Kikuchi <kikuchi@centurysys.co.jp>
* lib: std: typedthreads: add support for parameters to adjust Thread Stack Size.
Like FreeRTOS/Zephyr, add support for following configurations.
-d:nimThreadStackSize=xxxxx
-d:nimThreadStackGuard=yyyy
Signed-off-by: Takeyoshi Kikuchi <kikuchi@centurysys.co.jp>
---------
Signed-off-by: Takeyoshi Kikuchi <kikuchi@centurysys.co.jp>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`nimPreviewSlimSystem` is not defined (#21196)
* fixes #21195; `std/assertions` continue to use `sysFatal`
* try includes
* make `std/assertions` self-contained
* fixes tests
* fixes tests
|
|
|
|
|
| |
* remove legacy code
* fixes
|
|
|
| |
refs #20967
|
|
|
|
|
| |
* Document system:pop() may raise IndexDefect
* Add backticks to KeyError
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* alternative, much simpler algorithm for strict func checking
* forgot to git add new compiler module
* new spec is incredibly simple to describe
* fixes bigints regression
* typos
* closes #16305; closes #17387; closes #20863
|
|
|
|
|
| |
* unpublic arrayWith
* unindent
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* move `system/atomics` out of system; `std/atomics` should be preferred
* add deprecation message
* fixes
* fixes
* fixes
* fixes more tests
|
| |
|