Aditya Siram
86a9f2b32f
Fix #20416 . Enable the recursion limit for ref/ptr types. ( #21092 )
...
(cherry picked from commit 2564b5c938 )
2023-05-15 15:10:36 +02:00
Aditya Siram
e3275b2040
Fixes #20348 ; only respect the recursion limit if the symbol's generic type has been generated by the compiler ( #20377 )
...
Fixes #20348
(cherry picked from commit be4bd8a0ed )
2023-05-15 15:10:36 +02:00
ringabout
1e72e25410
fixes #9839 ; fixes noReturn pragma doesn't work for non-simple templates ( #21048 )
...
(cherry picked from commit c5eb3fd4f0 )
2023-05-15 15:10:35 +02:00
metagn
bc3e964e9d
fix #16639 ( #21017 )
...
(cherry picked from commit e98efdcc5e )
2023-05-15 15:10:30 +02:00
Bung
98756bb26b
fix semcase on tySequence and tyObject #20283 #19682 ( #20339 )
...
* fix semcase on tySequence and tyObject #20283 #19682
* use better arg name
* avoiding returns nil use errorNode instead, clean code
* use efNoDiagnostics flag
* remove tests/errmsgs/t19682.nim
* combine 2 test cases to one file
(cherry picked from commit eec1543baf )
2023-05-12 13:22:08 +02:00
Andreas Rumpf
42ff3aa75a
fixes #3748 ( #20563 )
...
* fixes #3748
* fix the regression
* don't use the new allocator for the SSL wrapper
* fixes regression
(cherry picked from commit 07b645342a )
2023-05-12 13:22:08 +02:00
ringabout
770a3889fd
fixes #21377 ; fixes @[] and {} type inference as returns in generics ( #21475 )
...
* fixes `@[]` type inference in generics
* add issue links
* fixes macros and iterators
* refactor
* add one more test
(cherry picked from commit 64a0355f3f )
2023-05-11 15:13:11 +02:00
metagn
c5d1dc5f69
fixes #20807 , refs #20450 , regression with seq inference ( #20818 )
...
(cherry picked from commit 77e58bf573 )
2023-05-11 15:13:04 +02:00
ringabout
553e51ccba
closes #6213 #11777 ; add testcase ( #20656 )
...
(cherry picked from commit 2d3e3ab527 )
2023-05-11 15:12:58 +02:00
ringabout
751d584b80
closes #11267 ; closes #11259 ; closes #11085 ; add testcases ( #20505 )
...
* closes #11267 ; add testcase
* closes #11259
* closes #11085
(cherry picked from commit a600dfa5b7 )
2023-05-11 15:12:53 +02:00
metagn
037f87d904
top-down type inference, implements rfc 149 ( #20091 )
...
* micro implementation of rfc 149
refs https://github.com/nim-lang/RFCs/issues/149
* number/array/seq literals, more statements
* try fix number literal alias issue
* renew expectedType with if/case/try branch types
* fix (nerf) index type handling and float typed int
* use typeAllowed
* tweaks + const test (tested locally) [skip ci]
* fill out more of the checklist
* more literals, change @ order, type conversions
Not copying the full call tree before the typedesc call check
in `semIndirectOp` is also a small performance improvement.
* disable self-conversion warning
* revert type conversions (maybe separate op later)
* deal with CI for now (seems unrelated), try enums
* workaround CI different way
* proper fix
* again
* see sizes
* lol
* overload selection, simplify int literal -> float
* range, new @ solution, try use fitNode for nil
* use new magic
* try fix ranges, new magic, deal with #20193
* add documentation, support templates
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
(cherry picked from commit 0014b9c48e )
2023-05-11 15:12:38 +02:00
Jake Leahy
a456c8797f
Allow futureLogging in release builds ( #21448 )
...
* Add test case
* Fixes 21447: Keeps stackTrace around when using futureLogging
* Remove extra whitespace
(cherry picked from commit d4d28f2ffe )
2023-05-03 18:32:48 +02:00
kraptor
168fcc6965
Add new self-signed 4096 bit certificate to testdata ( #19758 )
...
The test tasyncssl may fail on modern linux versions
as they require at least 2048 bit certificates.
A new certificate and private key with default values
has been added to meet this new requirement.
(cherry picked from commit 8c100a37b9 )
2023-05-03 18:32:37 +02:00
metagn
c2d098b974
.inheritable fix for 1.6 ( #21768 )
2023-05-03 18:30:43 +02:00
metagn
ae31ed4665
import brackets support as and prefixes [backport] ( #21636 )
...
* import brackets support `as` and prefixes
fixes #21635
* copyTree -> copyNode
(cherry picked from commit 2f547afb0f )
2023-04-27 07:18:17 +02:00
metagn
3f85abbd54
fix #15691 ( #21623 )
...
`semProcAux` has a check for `checkMinSonsLen(n, bodyPos + 1)`
(cherry picked from commit be06446ffe )
2023-04-26 15:12:32 +02:00
ringabout
6f05abf21c
fixes #21638 ; fromJson should support empty objects ( #21641 )
...
* fixes #21638 ; `fromJson` should supports empty objects
* complete the logic
(cherry picked from commit 5e016e4466 )
2023-04-26 15:12:03 +02:00
Jason Beetham
ed21e84f46
for loop expression can now have generated iterator's called (#21627 )
...
A for expression now can have a generated iterator, allowing for more composable iterables
(cherry picked from commit 686c75cef0 )
2023-04-26 15:10:46 +02:00
Jason Beetham
9bc30a1ff8
Fix segfault caused by ensuring valueless statics are not evaluated ( #21577 )
...
(cherry picked from commit c06623bf8c )
2023-04-26 15:09:57 +02:00
ringabout
21a26548a4
fixes #14255 ; Crash in compiler when using system.any by accident. ( #21562 )
...
fixes #14255 ; Crash in compiler when using system.any by accident.
(cherry picked from commit 55636a2913 )
2023-04-26 15:09:47 +02:00
Jason Beetham
babc9b234d
Made generic type classes work with types using static parameters ( #21528 )
...
(cherry picked from commit a9d0124b5d )
2023-04-26 15:08:51 +02:00
ringabout
844717f52b
fixes explicit globals in macros ( #21502 )
...
(cherry picked from commit b2c1dcbbc9 )
2023-04-26 15:08:45 +02:00
ringabout
db9442bf84
closes #8295 ; add a test case ( #21486 )
...
(cherry picked from commit 2f89f1eb78 )
2023-04-26 15:07:55 +02:00
ringabout
5bddac3e34
closes #6231 ; add a test case ( #21485 )
...
(cherry picked from commit 6ef9430153 )
2023-04-26 15:07:47 +02:00
ringabout
87bd753cb3
closes #20704 ; add a test case ( #21480 )
...
(cherry picked from commit 2d9af2bd55 )
2023-04-26 15:05:56 +02:00
ringabout
e53e5476a7
closes #16654 ; add a test case ( #21478 )
...
(cherry picked from commit 4d76725299 )
2023-04-26 12:48:13 +02:00
ringabout
7ceb4e4c87
fixes #10938 ; fixes #13312 ; fixes #13918 ; fixes #20985 ; always initializes global variables with null values in VM ( #21351 )
...
* fixes #10938 ; always initialize global variable in VM
* fixes importc vars
* there is a pre-existing issue regarding closure types in the VM
* add tests
(cherry picked from commit 1b1412f3d1 )
2023-04-26 12:48:13 +02:00
ringabout
ca620d6089
closes #17864 ; add a test case ( #21434 )
...
(cherry picked from commit d4782c9e42 )
2023-04-26 12:48:12 +02:00
ringabout
025ada1809
fixes #21360 ; discarding empty seqs/arrays now raises errors ( #21374 )
...
* discarding empty seqs now raises errors
* the same goes for sets
(cherry picked from commit fc7385bfda )
2023-04-26 12:48:12 +02:00
ringabout
7ad8c44e28
fixes #16790 ; fixes #19075 ; put big arrays on the constant seqs; don't inline them in the VM; big performance boost ( #21318 )
...
* don't inline arrays in VM
* add a test for #19075
(cherry picked from commit b5f64f55d0 )
2023-04-26 12:48:12 +02:00
ringabout
0fc1b79b75
enforce void for nkWhileStmt [backport: 2.0] ( #21170 )
...
enforce void for nkWhileStmt
(cherry picked from commit 9323cb7b2a )
2023-04-26 12:48:12 +02:00
Bung
8155b8d3ce
fix #11634 ( #21146 )
...
(cherry picked from commit ca9c74391a )
2023-04-26 12:48:12 +02:00
Bung
c25621d153
fix #16541 ( #21148 )
...
(cherry picked from commit c5a72ebddd )
2023-04-26 12:48:12 +02:00
Bung
24e4099d36
fix #21109 ( #21127 )
...
(cherry picked from commit e278a781fc )
2023-04-26 11:00:48 +02:00
ringabout
eaac22b9aa
close #11705 ; add a testcase ( #21128 )
...
(cherry picked from commit 53eed2be45 )
2023-04-26 11:00:04 +02:00
Bung
f0324e99da
fix #20588 ( #21104 )
...
(cherry picked from commit 8054be6e52 )
2023-04-26 10:57:45 +02:00
Bung
4ea0ce9149
fix #15836 proc arg return type auto unexpectly match proc with concr… ( #21065 )
...
* fix #15836 proc arg return type auto unexpectly match proc with concrete type
* fix #16244
* add test case for #12869
(cherry picked from commit 5917c2d5b7 )
2023-04-26 10:53:43 +02:00
Jake Leahy
a676c3aeca
multisync now allows tuples in return type (#21074 )
...
* Add test case
* Use .toStrLit() on param node first
This means that more complex types are fully rendered
(cherry picked from commit c7493bbdd0 )
2023-04-26 10:53:35 +02:00
Bung
918a7d9f54
fix #16758 Nim crashes in fixAbstractType ( #20855 )
...
* fix #16758 Nim crashes in fixAbstractType
* Update compiler/semexprs.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
(cherry picked from commit 1585bfec3b )
2023-04-26 10:53:28 +02:00
Vindaar
410254b485
fix issue #20922 by handling missing expr in exprList for tkOf ( #20930 )
...
* fix issue #20922 by handling missing expr in `exprList` for `tkOf`
* fix line numbers in test case
* rewrite exprList requiring expr, add optionalExprList for except
As suggested by @metagn.
* update test case to reflect new code
* update grammar.txt
* update line numbers in test case taking into account nimout
Given the number of errors that are produced it seems easier to do it
this way instead of using `tt.Error`.
(cherry picked from commit 0a1d4ba842 )
2023-04-26 09:31:33 +02:00
ringabout
71c5bdf6b3
fixes #21027 ; cast expressions need a type ( #21029 )
...
* fixes #21027 ; cast expressions need a type
* Apply suggestions from code review
Thanks to @beef331
(cherry picked from commit 1564ae650f )
2023-04-26 09:31:33 +02:00
ringabout
57e307f3a8
fixes #20958 ; fixes the return type of slice function [backport] ( #20959 )
...
* fixes #20958 ; fixes the return type of slice function
* add a testcase
(cherry picked from commit 3d5edb41be )
2023-04-26 09:31:33 +02:00
ringabout
a0eec605ba
fixes #13583 ; enforce void for nkWhileStmt ( #20947 )
...
* fixes #13583 ; enfore void for nkWhileStmt
* one more case
(cherry picked from commit d4afa53fd5 )
2023-04-26 09:31:33 +02:00
Bung
7e80df2267
fix #3505 wrong var {.global.} initialization, asign variable to it ( #20812 )
...
* fix #3505 wrong var {.global.} initialization, asign variable to it
* fix #5132 as well
* follow suggestions
* handle all call kinds
* Update tests/global/t3505.nim
* Update compiler/semstmts.nim
* Update compiler/semstmts.nim
* Update compiler/semstmts.nim
* follow suggestion
* Update compiler/semstmts.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
(cherry picked from commit 1410243d3b )
2023-04-26 09:31:32 +02:00
ringabout
e70379811b
fixes regression #17121 ; adding doc comment in importc proc makes it silently noop at CT ( #20766 )
...
* fixes regression #17121 ; adding doc comment in importc proc makes it silently noop at CT
* Update compiler/vmgen.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
(cherry picked from commit a228e331f3 )
2023-04-26 09:31:32 +02:00
Bung
0c9c6d2a68
fix #19149 Invalid codegen when returning var tuple from a template ( #20762 )
...
* fix #19149 Invalid codegen when returning var tuple from a template
* fix type
(cherry picked from commit bae0fb720a )
2023-04-26 09:31:32 +02:00
ringabout
4e56bcfc0e
closes #14216 ; add testcase ( #20733 )
...
(cherry picked from commit 87f7f50553 )
2023-04-25 19:34:04 +02:00
Bung
d5be917994
fix #20272 range of uint64 shows signed upper bound ( #20702 )
...
(cherry picked from commit 49e793e8c4 )
2023-04-25 18:27:54 +02:00
Bung
fe1e09a881
fix #20148 implicit compile time conversion int to ranged float cause… ( #20698 )
...
fix #20148 implicit compile time conversion int to ranged float causes compiler fatal error
(cherry picked from commit a51ed90c5d )
2023-04-25 16:27:31 +02:00
Bung
b2b226bb28
fix #16264 low(Time) OverflowDefect ( #20552 )
...
fix #16264 regression(0.18.0 => devel): import times; echo low(Time) gives OverflowDefect
(cherry picked from commit 534c97edc5 )
2023-04-25 16:27:31 +02:00