ringabout
c2abcb06cc
ship atlas and build documentation ( #21945 )
...
* ship atlas and build documentation
* move atlas.md and link it in tools' index
2023-05-28 08:28:49 +02:00
metagn
2dcc7195da
support generic void return type for templates ( #21934 )
...
fixes #21920
2023-05-27 20:09:34 +02:00
heterodoxic
af3fd5a010
fixes #15428 by updating deep open array copy codegen ( #21935 )
...
* fix #15428
* add test
2023-05-27 15:27:42 +02:00
heterodoxic
6128ef53c5
fix #10964 by honoring pointer deref syntax if a reified openarray is used to get an array's length ( #21925 )
...
* fix #10964
* add test
2023-05-27 06:54:41 +02:00
metagn
1aaff9dc48
fix & add test for basic hot code reloading case ( #21915 )
...
fixes #21885
2023-05-26 17:07:37 +02:00
ringabout
ab4d044a81
fixes #21887 ; Type conversion on overloaded enum field does not always call ( #21908 )
...
* fixes #21887 ; Type conversion on overloaded enum field does not always call
* remove comments
* add a test case
* restrict it to enums
2023-05-26 09:24:43 +02:00
heterodoxic
609bf3d7c8
fix #21501 by making --app:lib and --app:staticLib imply --noMain ( #21910 )
2023-05-26 03:20:56 +02:00
metagn
446e5fbbb3
when T is both a type symbol and a routine symbol in scope of a generic proc do not account for the type symbol when doing a.T() ( #21899 )
...
fix #21883
2023-05-24 20:39:40 +02:00
metagn
4d6be458a0
js -r defines nodejs & program result undeclared if unavailable ( #21849 )
...
* js -r defines nodejs & program result undefined if unavailable
fixes #16985 , fixes #16074
* fix
* add changelog too
* minor word change
2023-05-24 17:55:09 +02:00
Juan M Gómez
c7f2541914
actually fixes #21889 "constructor pragma doing nothing in globals" ( #21897 )
...
actually fixes #21889
2023-05-24 16:42:53 +02:00
Bung
266cc69f19
fix #21896 asign parameter to global variable generates invalid code ( #21900 )
2023-05-24 15:30:14 +02:00
ringabout
761b927e47
fixes #21863 ; Incorrect enum field access can cause internal error ( #21886 )
...
fixes 21863; Incorrect enum field access can cause internal error
2023-05-24 07:43:30 +02:00
Juan M Gómez
bdccc9fef9
small refactor in preparation to fix #21889 ( #21892 )
2023-05-23 20:10:24 +02:00
Juan Carlos
d372ad3ee6
Fix jsgen ( #21880 )
...
* .
* Fix jsgen FrameInfo
* Fix jsgen FrameInfo
* .
* Move to PProc
2023-05-23 09:59:21 +02:00
Bung
76a98fee65
fix #21251 Compiler SIGSEGV when using SharedTable ( #21876 )
...
fix #21251
2023-05-23 09:39:44 +02:00
Jason Beetham
28a116a477
Fixed generic parameters failing to be used in inheritance ( #21866 )
2023-05-21 20:10:32 +02:00
Juan M Gómez
5606702e6d
implements: "Allow bycopy to work in params #21874 " ( #21877 )
...
* implements: "Allow bycopy to work in params #21874 "
* Update compiler/pragmas.nim
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2023-05-21 04:44:43 +02:00
Juan M Gómez
44f059c75e
implements allow byref to work in params #21873 ( #21875 )
2023-05-21 00:19:09 +02:00
metagn
641e34bcb2
fix #14254 ( #21837 )
...
* fix #14254
* use temporary PR branch for neo
* fix url
2023-05-20 21:09:16 +02:00
Juan M Gómez
a852b2e9cf
refactor gettypedesc so it accepts its own kind instead of symkind ( #21867 )
2023-05-19 21:31:57 +02:00
heterodoxic
476e032004
potential fix for C++ codegen with ARC/ORC and goto exceptions fixes #21579 , fixes #21862 ( #21868 )
...
potential fix for C++ codegen with ARC/ORC and goto exceptions
2023-05-19 21:24:37 +02:00
Juan M Gómez
02a10ec379
Cpp Vfunctions draft ( #21790 )
...
* 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 >
2023-05-17 11:44:42 +02:00
ringabout
eecf12c4b5
fixes #21708 ; skip colons for tuples in VM ( #21850 )
...
* fixes #21708 ; skip colon for tuples in VM
* skip nimnodes
* fixes types
2023-05-17 00:20:40 +02:00
heterodoxic
cf1ab2a30b
fix #21848 ( #21852 )
2023-05-15 21:16:49 +02:00
Andreas Rumpf
f4a9b258c3
isolation spec update; WIP ( #21843 )
...
* isolation spec update; WIP
* wip
* docs update, WIP
* progress
* Update doc/manual.md
2023-05-14 16:58:28 +02:00
ringabout
ddce555998
improve wasMoved hooks; allow reset to use the overridden wasMoved hook ( #21831 )
...
* improve `wasMoved` hooks
* Because `wasMoved` is lifted
2023-05-12 15:24:14 +02:00
ringabout
9c40dd2406
fixes #21840 ; nested local template lookup regression ( #21841 )
...
* fixes #21840 ; nested local template lookup regression
* use original types
* fixes js vm tests
2023-05-12 19:38:10 +08:00
metagn
161f50643a
make deprecated statement a no-op ( #21836 )
2023-05-12 10:05:38 +02:00
ringabout
ebbad9e960
cursor fields cannot form reference cycles ( #21832 )
...
* cursor fields cannot form a reference cycle
* fixes typo
* fixes position
2023-05-11 20:49:47 +02:00
ringabout
3b9999b93c
adds documentation for =wasMoved and =dup hooks and small fixes ( #21827 )
...
* 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 >
2023-05-11 19:38:27 +08:00
ringabout
71dc929ad7
bring #21802 back; fixes #21753 [backport] ( #21815 )
...
* bring #21802 back; fixes #21753 [backport]
* adds tests and multiple fixes
* add test cases
* refactor and remove startId
* fixes custom hooks and adds tests
* handle tyUncheckedArray better
2023-05-11 10:29:11 +02:00
metagn
02be212dae
clean up SOME pending/xxx/issue link comments ( #21826 )
...
* clean up SOME pending/xxx/issue link comments
* great
2023-05-11 10:23:52 +02:00
Juan Carlos
3a08e2e6ac
Remove LineTooLong ( #21819 )
...
* LineTooLong refactor to make it actually useful
* Improve error message
* changelog wording
* Fix typo
2023-05-11 10:10:51 +02:00
ringabout
deaf684375
fix #9423 followup #17594 : distinct generics now work in VM ( #21816 )
...
* fix #9423 distinct generics now work in vm
* fixes cpp tests
---------
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
2023-05-10 11:06:14 +02:00
metagn
4b76037e5f
ignore inline hint for dynlib procs in codegen [backport] ( #21817 )
2023-05-09 21:44:47 +02:00
ringabout
4533e894ad
adds an experimental mm:atomicArc switch ( #21798 )
2023-05-08 16:25:47 +02:00
ringabout
ebdff1c7d3
fixes #21801 ; object field initialization with overloaded functions ( #21805 )
...
* fixes #21801 ; object field initialization with overloaded functions
* use the correct type
2023-05-08 13:52:28 +02:00
ringabout
4a94f3606e
revert #21799 and #21802 which don't pass the tests ( #21804 )
...
* Revert "ORC: make rootsThreshold thread local [backport] (#21799 )"
This reverts commit b74d49c037 .
* Revert "fixes #21752 [backport] (#21802 )"
This reverts commit d0c62fa169 .
2023-05-07 09:22:42 +02:00
ringabout
8cf5643621
fixes #21280 ; Enum with int64.high() value crashes compiler ( #21285 )
...
* fixes #21280 ; Enum with int64.high() value crashes compiler
* Update tests/enum/tenum.nim
* Update tests/enum/tenum.nim
* fixes tests
* Update tests/enum/tenum.nim
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2023-05-06 21:38:17 +02:00
ringabout
b562e1e6d8
implement =dup hook eliminating wasMoved and =copy pairs ( #21586 )
...
* 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
2023-05-06 21:36:57 +02:00
metagn
ba698d37c3
some Token refactors ( #21762 )
...
* 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
2023-05-06 21:27:28 +02:00
Andreas Rumpf
d0c62fa169
fixes #21753 [backport] ( #21802 )
2023-05-06 21:25:45 +02:00
quantimnot
365a753eed
Fix some styleCheck bugs ( #20095 )
...
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 >
2023-05-06 19:10:13 +02:00
ringabout
53c15f24e9
fixes #21704 ; remove nfIsRef for genLit in VM ( #21765 )
...
* fixes #21704 ; remove `nfIsRef` for genLit
* remove nfIsRef from the output of macros
* make the logic better
* try again
* act together
* excl nfIsRef
2023-05-06 18:04:08 +02:00
metagn
e92d7681bb
consistent use of scForceOpen for generic dot field symbols ( #21738 )
...
* always force open generic dot field symbols?
fixes #21724 but might break code
* alternative, should fix CI
* other alternative, add test for previous CI failure
* not needed
* make sure call doesn't compile too
* ok actual second test
* ok final actual correct test
* apply performance idea
* don't make fromDotExpr static
2023-05-05 07:28:06 +02:00
heterodoxic
a929e513fa
amends #21690 to fix broken Nim to C++ source line mappings ( #21784 )
...
resync fork
2023-05-04 20:09:53 +08:00
ringabout
c34950f8f5
minor cleanup vmprofiler ( #21783 )
2023-05-04 15:44:46 +08:00
metagn
44736d26cd
error on user pragma args ( #21776 )
...
closes #20978
2023-05-03 14:18:55 +02:00
metagn
ca82b4ea16
underscore as special word ( #21766 )
...
* underscore as special word
* fix really hard to notice error
2023-05-02 11:15:06 +02:00
metagn
c2bcfd8cd9
cheap fix for #10853 + better tuple subscript error message ( #21767 )
...
* cheap fix for #10853
* also better tuple subscript error message
* weird
2023-05-02 11:13:38 +02:00