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
ringabout
afc30ca879
fixes #19863 ; move sha1, md5 to nimble packages for 2.0 ( #21702 )
...
* move sha1, md5 to nimble packages
* boot the compiler
* fixes tests
* build the documentation
* fixes docs
* lol, I forgot koch.nim
* add `nimHasChecksums` define
* clone checksums but maybe copying is better
* bump nimble hash
* use ChecksumsStableCommit
* fixes tests
* deprecate them
* fixes paths
* fixes koch
2023-05-02 10:49:17 +02:00
Juan M Gómez
3e82a315fc
implements #21747 ( #21748 )
2023-05-02 10:10:51 +02:00
ringabout
8e0f336f6d
fixes #21483 ; fixes nim doc skips documentation of annotated elements of objects ( #21743 )
...
* fixes #21483 ; skipPragmaExpr
* add a test case for #21483
* fixes HTML
2023-04-29 15:30:44 +02:00
heterodoxic
91abf35442
improve C/C++ debug output readability (1/N) ( #21690 )
...
* hacky attempt to reconcile default explicit constructors with enforcement of brace initialization, instead of memsetting imported objects to 0
* improve C/C++ debug output readability (1/N)
2023-04-28 10:30:16 +02:00
ringabout
560fa9a1fe
handle quoted routine symbols and non symbols expressions as before ( #21740 )
2023-04-28 10:25:31 +02:00
Andreas Rumpf
220b450489
fixes #21245 ; warn about destructors that can raise ( #21726 )
...
* fixes #21245 ; warn about destructors that can raise
* doc update
* progress
* typo
2023-04-26 22:32:10 +02:00
ringabout
69c193e5e2
fixes #21731 ; fixes #21537 ; disable warnBareExcept by default [backport] ( #21728 )
...
* disable warnBareExcept for default
* fixes a typo
2023-04-26 08:04:13 +02:00
metagn
0032322ea8
fix #21727 ( #21729 )
2023-04-26 08:02:44 +02:00
Juan M Gómez
4754c51f1b
Pragma to force the exportc of a type. #21645 ( #21648 )
...
exportc export all types not just those used by exported proc/globals
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2023-04-24 17:44:29 +02:00
ringabout
0f226c0e48
fixes #21703 ; moveOrCopy should consider when vm ( #21721 )
2023-04-24 14:57:48 +02:00
Andreas Rumpf
20b011de19
refactoring in preparation for better, simpler name mangling that wor… ( #21667 )
...
* refactoring in preparation for better, simpler name mangling that works with IC flawlessly
* use new disamb field
* see if this makes tests green
* make tests green again
2023-04-24 06:52:37 +02:00
metagn
380dafcc32
fix iterator equality + add test for proc equality + fix sameType ( #21707 )
...
* 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 >
2023-04-23 17:43:59 +08:00
ringabout
265a340e80
fixes booting warnings ( #21711 )
...
follow up https://github.com/nim-lang/Nim/pull/21604
2023-04-23 15:34:46 +08:00
metagn
63d29ddd69
alias syntax fixes, improvements and tests ( #21671 )
...
* alias syntax fixes, improvements and tests
* even better, cannot use alias syntax with generics
* more type tests, improve comment
* fix again
* consistent error message + make t5167_5 work
* more comments, remove {.noalias.}
2023-04-22 09:11:56 +02:00
Juan M Gómez
c136ebf1ed
implements #21620 : allowing to import multiple modules with shared names ( #21628 )
2023-04-21 15:40:13 +02:00