* Refactor and optimize cellseqs_v2 in Nim standard library
* Extract resizing logic into a separate 'resize' procedure for better readability and separation of concerns
* Implement realloc for non-threaded cases to improve memory operations efficiency
* Use ',' instead of ';' between parameters in 'add' procedure for consistency with other Nim code
* Respond to Araq's feedback: Refactor resize function to use reallocShared
This commit replaces the usage of allocShared and deallocShared with reallocShared to optimize memory allocation and deallocation while resizing the CellSeq.
(cherry picked from commit b169dad1e5)
Refactor and improve readability of CellSeq in system directory
* Use half-open range in the contains procedure for better readability and to avoid potential off-by-one errors
* Extract resizing logic from add procedure into a separate resize procedure for better code readability and separation of concerns
(cherry picked from commit 71f2e1a502)
* 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>
(cherry picked from commit 380dafcc32)
When the linker command line is long, Nim compiler generates a file for
passing the linker arguments. On `macOS`, that mechanism fails as the
`@` syntax is not supported by `ar`. Use `xargs` instead to pass the
linker arguments file.
(cherry picked from commit c6c85f84db)
* fix#9423 distinct generics now work in vm
* fixes cpp tests
---------
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
(cherry picked from commit deaf684375)
When parsing enums from strings using `genEnumCaseStmt`, `AnyEnumConv`
warnings are generated due to conversion from integer value. It seems
possible meanwhile to refer to the actual `enum` value by symbol instead
of being required to do the conversion from `ord`, even when the `enum`
is defined in a `block`.
(cherry picked from commit 8bba04078c)
refs #19822
Fixes these bugs:
* Style check violations in generics defined in foreign packages are raised.
* Builtin pragma usage style check violations in foreign packages are raised.
* User pragma definition style check violations are not raised.
Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
(cherry picked from commit 365a753eed)
* fixes#21704; remove `nfIsRef` for genLit
* remove nfIsRef from the output of macros
* make the logic better
* try again
* act together
* excl nfIsRef
(cherry picked from commit 53c15f24e9)
* fixes#21674; `lent` can be used in the fields or the cast type as a parameter
* add a test case
* fix the test
(cherry picked from commit 65223e6f59)
* fix dot calls with resolved symbols in templates
* make old code work
* fix custom number literals test
* remove leftover debug marker
* enable "bug 9" test too
* fix renderer, add test for #7085
(cherry picked from commit 71801c2b8f)
fixes#3770; templates with untyped parameters resolve private fields wrongly in generics (#21554)
* fixes#3770; templates with untyped parameters resolve private fields wrongly
* add a test case for #3770
* rename to `nfSkipFieldChecking`