* introduces virtual pragma, modifies proc def, prevents proc decl
* marks virtual procs as infix
* forward declare vfuncs inside the typedef
* adds naked callConv to virtual
* virtual proc error if not defined in the same top level scope as the type
* first param is now this. extracts genvirtualheaderproc
* WIP syntax
* supports obj. Removes the need for the prefix
* parameter count starts as this. Cleanup
* clean up
* sem tests
* adds integration tests
* uses constraint to store the virtual content
* introduces genVirtualProcParams
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* Add `minmax` to sequtils
This adds a `minmax` proc to complement `min` and `max`; it computes
both results in a single pass for efficiency.
* Update lib/pure/collections/sequtils.nim
* Add minmax note to changelog.
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* 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
* fix/workaround for nimrtl and nimhcr on arc/orc
fixes#21803
* try fix clang, debug linux failure
* just make duplicated procs not rtl
* actual fix for duplicated procs
* 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.
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
* test some Token refactors
* fix CI
* showcase for more reductions, will revert
* Revert "showcase for more reductions, will revert"
This reverts commit 5ba48591f4.
* make line and column int32
* remove int32 change
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>