metagn
b97d603cd0
some test cleanups & category reorganization ( #22010 )
...
* clean up some test categories
* mention exact slice issue
* magics into system
* move trangechecks into overflow
* move tmemory to system
* try fix CI
* try fix CI
* final CI fix
2023-06-06 06:54:07 +02:00
metagn
2ab948ce53
post expr blocks colon fix + correct grammar ( #21983 )
...
* post expr blocks colon fix + correct grammar
fixes #21982
* fix dochelpers
* this is remarkably common
* use head for unchained
* fix atlas
* final grammar fix
2023-06-06 06:53:21 +02:00
metagn
0a212f97a5
properly disallow unresolved generic proc values ( #22005 )
...
* properly disallow unresolved generic proc values
* mirrors semoperand
* shallow efTypeAllowed, add back special case
2023-06-05 10:53:40 +02:00
Bung
c7c3362cc8
add test case for #7839 ( #22006 )
2023-06-05 16:30:08 +08:00
ringabout
1edae67efd
infer error for =dup if there is a custom =copy error hook ( #22004 )
2023-06-05 08:06:14 +02:00
heterodoxic
0d4d70f15c
shallow fix for #21972 , #18552 by moving std::exception_ptr to the parent sco… ( #21988 )
...
shallow fix for #21972 by moving std::exception_ptr to the parent scope, minor cleanup
2023-06-04 08:56:11 +02:00
ringabout
929cb4d601
fixes #21987 ; don't create type bound ops for anything in a function with a nodestroy pragma ( #21992 )
...
* fixes #21987 ; don't create type bound ops for anything in a function with a `nodestroy` pragma
* add a comment
2023-06-04 08:37:58 +02:00
ringabout
1133f20fe2
lift the =dup hook ( #21903 )
...
* fixes tests again
* remove helper functions
* fixes closures, owned refs
* final cleanup
2023-06-02 16:03:32 +02:00
heterodoxic
c507ced51e
partially fixes #20787 by having a char dummy member prepended to objs only containing an UncheckedArray (i.e. C FAM) ( #21979 )
...
partial fix for #20787
2023-06-01 19:37:01 +02:00
ringabout
8e35b3d577
fixes #21974 ; fixes sameConstant fieldDefect ( #21981 )
...
* fixes #21974 ; fixes sameConstant fieldDefect
* add a test case
2023-06-01 19:02:56 +02:00
Juan M Gómez
e43a51fcf3
Implements: [C++] constructor pragma improvement ( fix #21921 ) ( #21916 )
...
* implements: [C++] constructor pragma improvement (fix #21921 )
t
* fix test so it doesnt use echo in globals
* Update compiler/ccgtypes.nim
* Update lib/std/private/dragonbox.nim
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2023-05-30 21:47:26 +02:00
metagn
20446b437b
make proc not implicitly convert to pointer with a preview define ( #21953 )
...
* test `proc` not converting to `pointer`
* ignore define for now to test
* remove cstring
* fixes, changelog
2023-05-30 21:29:38 +02:00
ringabout
40f88da90b
alternative to #21914 ; split, rsplit now forbid an empty separator ( #21961 )
2023-05-30 13:40:09 +02:00
Mamy Ratsimbazafy
171b916613
Add anti-regression for #21958 ( #21960 )
...
Add anti-regression test to close #21958
2023-05-30 10:46:24 +08:00
ringabout
108410ac34
fixes fieldDefect loses enum type info in ORC; consistent with VM and refc ( #21954 )
...
fixes fieldDefect loses enum type info in ORC
2023-05-29 14:59:59 +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
Jake Leahy
a8718d8a9e
Fix const in async regression ( #21898 )
...
* Add test case for a const being used inside an async proc
* Use `typeof` to get the type of the block instead of overloaded templates
This removes the problem with the symbol having different types
I am unsure why I didn't use this in the first place. IIRC I had problems with `typeof` when I first tried to use it in the original implementation
2023-05-25 07:08:36 +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
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
Bung
76a98fee65
fix #21251 Compiler SIGSEGV when using SharedTable ( #21876 )
...
fix #21251
2023-05-23 09:39:44 +02:00
Carlo Capocasa
9c2d2773ec
Weekday parse/format (replacement) ( #21857 )
...
* parsing capability for iso week year
* remove outdated test
2023-05-21 20:12:05 +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
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
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
Andreas Rumpf
1314ea7516
tasks that support return values ( #21859 )
...
tasks.nim: Code cleanups and support expressions that produce a value
2023-05-17 06:02:11 +02:00
ringabout
f22e5067c5
fixes #21847 ; let parseFloat behave like strtod ( #21854 )
2023-05-17 00:21:34 +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
ringabout
ce1ba91573
close #19990 ; adds a test case ( #21853 )
2023-05-15 21:17:06 +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
0ece98620f
closes #7590 ; add a test case ( #21846 )
2023-05-14 13:59:41 +08: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
Matt Wilson
ea39c600ab
Add minmax to comparisons ( #21820 )
...
* 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 >
2023-05-12 14:02:09 +08: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
Andreas Rumpf
f3a4cc584e
make ORC threadlocal, take two ( #21818 )
...
* ORC: make rootsThreshold thread local [backport]
* fixes the regression
2023-05-10 12:54:43 +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
5491e0c274
re-enable badssl test ( #21775 )
...
test reenable badssl
2023-05-09 21:37:32 +08: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