Juan M Gómez
8625e71250
adds support for functor in member ( #22433 )
...
* adds support for functor in member
* improves functor test
2023-08-10 14:15:23 +02:00
Bung
2aab03bdfb
fix #19304 Borrowing std/times.format causes Error: illformed AST ( #20659 )
...
* fix #19304 Borrowing std/times.format causes Error: illformed AST
* follow suggestions
* mitigate for #4121
* improve error message
2023-08-10 16:26:23 +08:00
SirOlaf
baf350493b
Fix #21760 ( #22422 )
...
* Remove call-specific replaceTypeVarsN
* Run for all call kinds and ignore typedesc
* Testcase
---------
Co-authored-by: SirOlaf <>
2023-08-10 07:56:09 +02:00
Juan M Gómez
6ec1c80779
makes asmnostackframe work with cpp member #22411 ( #22429 )
2023-08-09 20:57:52 +02:00
Bung
46e94c83d4
Fix #5780 ( #22428 )
...
* fix #5780
2023-08-09 23:17:08 +08:00
ringabout
5ec81d076b
fixes cascades of out parameters, which produces wrong ProveInit warnings ( #22413 )
2023-08-09 13:49:30 +02:00
Bung
d53a89e453
fix #12938 index type of array in type section without static ( #20529 )
...
* fix #12938 nim compiler assertion fail when literal integer is passed as template argument for array size
* use new flag tfImplicitStatic
* fix
* fix #14193
* correct tfUnresolved add condition
* clean test
2023-08-09 12:45:43 +02:00
ringabout
5334dc921f
fixes #22419 ; async/closure environment does not align local variables ( #22425 )
...
* fixes #22419 ; async/closure environment does not align local variables
* Apply suggestions from code review
* Update tests/align/talign.nim
Co-authored-by: Jacek Sieka <arnetheduck@gmail.com >
* apply code review
* update tests
---------
Co-authored-by: Jacek Sieka <arnetheduck@gmail.com >
2023-08-09 12:43:17 +02:00
Bung
989da75b84
fix #20891 Illegal capture error of env its self ( #22414 )
...
* fix #20891 Illegal capture error of env its self
* fix innerClosure too earlier, make condition shorter
2023-08-09 09:43:39 +02:00
metagn
3aaef9e4cf
block ambiguous type conversion dotcalls in generics ( #22375 )
...
fixes #22373
2023-08-09 06:12:14 +02:00
Bung
37d8f32ae9
fix #18823 Passing Natural to bitops.BitsRange[T] parameter in generi… ( #20683 )
...
* fix #18823 Passing Natural to bitops.BitsRange[T] parameter in generic proc is compile error
2023-08-08 16:06:47 +08:00
Juan M Gómez
b5b4b48c94
[C++] Member pragma RFC ( https://github.com/nim-lang/RFCs/issues/530 ) ( #22272 )
...
* [C++] Member pragma RFC #530
rebase devel
* changes the test so `echo` is not used before Nim is init
* rebase devel
* fixes Error: use explicit initialization of X for clarity [Uninit]
2023-08-07 10:11:00 +02:00
konsumlamm
53586d1f32
Fix some jsgen bugs ( #22330 )
...
Fix `succ`, `pred`
Fix `genRangeChck` for unsigned ints
Fix typo in `dec`
2023-08-06 14:24:35 +02:00
SirOlaf
67122a9cb6
Let inferGenericTypes continue if a param is already bound ( #22384 )
...
* Play with typeRel
* Temp solution: Fixup call's param types
* Test result type with two generic params
* Asserts
* Tiny cleanup
* Skip sink
* Ignore proc
* Use changeType
* Remove conversion
* Remove last bits of conversion
* Flag
---------
Co-authored-by: SirOlaf <>
2023-08-06 14:23:00 +02:00
Bung
95c751a9e4
fix #15005 ; [ARC] Global variable declared in a block is destroyed too… ( #22388 )
...
* fix #15005 [ARC] Global variable declared in a block is destroyed too early
2023-08-06 15:46:43 +08:00
Bung
137d608d7d
add test for #3907 ( #21069 )
...
* add test for #3907
2023-08-06 15:21:24 +08:00
konsumlamm
e15e19308e
Revert adding generic V: Ordinal parameter to succ, pred, inc, dec ( #22328 )
...
* Use `int` in `digitsutils`, `dragonbox`, `schubfach`
* Fix error message
2023-08-06 00:38:46 +08:00
Tomohiro
db435a4a79
Fix searchExtPos so that it returns -1 when the path is not a file ext ( #22245 )
...
* Fix searchExtPos so that it returns -1 when the path is not a file ext
* fix comparision expression
* Remove splitDrive from searchExtPos
2023-08-04 20:00:43 +02:00
Bung
26f183043f
fix #20883 Unspecified generic on default value segfaults the compiler ( #21172 )
...
* fix #20883 Unspecified generic on default value segfaults the compiler
* fallback to isGeneric
* change to closer error
* Update t20883.nim
2023-08-04 13:35:43 +02:00
Jake Leahy
3efabd3ec6
Fix crash when using uninstantiated generic ( #22379 )
...
* Add test case
* Add in a bounds check when accessing generic types
Removes idnex out of bounds exception when comparing a generic that isn't fully instantiated
2023-08-04 12:21:36 +02:00
konsumlamm
d37b620757
Make repr(HSlice) always available ( #22332 )
...
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com >
2023-08-04 05:29:48 +02:00
SirOlaf
8d8d75706c
Add experimental inferGenericTypes switch ( #22317 )
...
* Infer generic bindings
* Simple test
* Add t
* Allow it to work for templates too
* Fix some builds by putting bindings in a template
* Fix builtins
* Slightly more exotic seq test
* Test value-based generics using array
* Pass expectedType into buildBindings
* Put buildBindings into a proc
* Manual entry
* Remove leftover `
* Improve language used in the manual
* Experimental flag and fix basic constructors
* Tiny commend cleanup
* Move to experimental manual
* Use 'kind' so tuples continue to fail like before
* Explicitly disallow tuples
* Table test and document tuples
* Test type reduction
* Disable inferGenericTypes check for CI tests
* Remove tuple info in manual
* Always reduce types. Testing CI
* Fixes
* Ignore tyGenericInst
* Prevent binding already bound generic params
* tyUncheckedArray
* Few more types
* Update manual and check for flag again
* Update tests/generics/treturn_inference.nim
* var candidate, remove flag check again for CI
* Enable check once more
---------
Co-authored-by: SirOlaf <>
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2023-08-03 22:49:52 +02:00
Bung
6b913b4741
Revert "fix #22173 sink paramers not moved into closure (refc) (#22… ( #22376 )
...
Revert "fix #22173 `sink` paramers not moved into closure (refc) (#22359 )"
This reverts commit b40da812f7 .
2023-08-03 19:56:05 +02:00
Bung
b40da812f7
fix #22173 sink paramers not moved into closure (refc) ( #22359 )
...
* use genRefAssign when assign to sink string
* add test case
2023-08-02 14:08:51 +02:00
ringabout
825a0e7df4
fixes #22362 ; Compiler crashes with staticBoundsCheck on ( #22363 )
2023-08-02 11:00:34 +02:00
ringabout
f3a7622514
fixes #22360 ; compare with the half of randMax ( #22361 )
...
* fixes #22360 ; compare with the half of randMax
* add a test
2023-08-02 10:58:29 +02:00
ringabout
a23e53b490
fixes #22262 ; fixes -d:useMalloc broken with --mm:none and --threads on ( #22355 )
...
* fixes #22262 ; -d:useMalloc broken with --mm:none and threads on
* fixes
2023-08-01 15:18:08 +02:00
Juan M Gómez
e70992d291
fixes an issue where byref wasnt properly handled when using it in a generic param ( #22337 )
...
* fixes an issue where byref wasnt properly handled when using it in a generic param
* removes unreachable check
2023-07-29 18:05:31 +02:00
ringabout
f0f3904ff0
implement ensureMove ( #22339 )
...
* implement `ensureMove`
* use an additional flag
* improve some logics
* progress: fixes discard ensureMove
* forbids nested expressions
* improve error messages
* checkpoint
* fixes cursor
* ADD MORE TESTS
* fixes cursorinference again
* tiny cleanup
* improve error messages
* fixes docs
* implement comments add more tests
* fixes js
2023-07-29 10:57:03 +02:00
konsumlamm
db77c98471
[JS] Fix bitwise ops & shifts ( #22340 )
...
* [JS] Fix bitwise ops & shifts
* Test `int64` & `uint64` only with `jsbigint64`
2023-07-27 23:06:30 +02:00
konsumlamm
c0994c2dbd
[JS] Fix casting to ints ( #22327 )
...
* [JS] Fix casting to ints
* Simplify `genCast` by using `asUintN`/`asIntN`
2023-07-25 17:56:14 +02:00
ringabout
1c2ccfad08
fixes #22301 ; fixes #22324 ; rejects branch initialization with a runtime discriminator with defaults ( #22303 )
...
* fixes #22301 ; rejects branch initialization with a runtime discriminator with defaults
* undefault nimPreviewRangeDefault
* fixes tests
* use oldCheckDefault
2023-07-25 12:08:32 +02:00
Juan M Gómez
49a108b302
Expands codegenDecl to work in function params. fixes #22306 ( #22307 )
...
* Expands codegenDecl to work in function params. fixes #22306
* makes the test more concrete so T{lit} params dont match
* adds sfCodegenDecl
2023-07-23 16:42:20 +02:00
SirOlaf
808c9c6c2a
Testcase for #22008 ( #22320 )
...
Testcase
Co-authored-by: SirOlaf <>
2023-07-23 21:35:30 +08:00
konsumlamm
0e555ade31
Add test for #22309 ( #22316 )
2023-07-22 21:11:08 +02:00
konsumlamm
576f4a7348
Fix doc comment rendering for concepts ( #22312 )
2023-07-22 19:10:12 +02:00
ringabout
b02c1dd6ca
fixes #22297 ; return in the finally in the closure iterators ( #22300 )
...
ref #22297 ; return in the finally in the closure iterators
2023-07-22 06:37:27 +02:00
ringabout
993fcf5bda
fixes CI; disable SSL tests on osx for now ( #22304 )
...
* test CI
* disable osx
2023-07-22 11:31:01 +08:00
ringabout
91987f8eb5
fixes #22210 ; transform return future in try/finally properly ( #22249 )
...
* wip; fixes #22210 ; transform return future in try/finally properly
* add a test case for #22210
* minor
* inserts a needsCompletion flag
* uses copyNimNode
2023-07-21 05:40:11 +02:00
ringabout
5ed44e1ec4
fixes #22254 ; fixes #22253 ; stricteffects bugs on recursive calls ( #22294 )
2023-07-19 15:20:41 +02:00
ringabout
1aff402998
fixes #6499 ; disallow built-in procs used as procvars ( #22291 )
2023-07-19 09:45:28 +02:00
Juan M Gómez
50d435cd39
Fixes Naive virtual crash the compiler fixes #22269 ( #22271 )
...
* Fixes Naive virtual crash the compiler fixes #22269
* adds type specific test
2023-07-16 17:01:34 +02:00
ringabout
9471b5f964
fixes #22256 ; fixes GC_disableOrc overflow ( #22257 )
2023-07-11 19:01:18 +02:00
ringabout
ecc6ab7ee0
fixes #22237 ; fixes #21160 ; wrong cursor on unowned parameters in the for loop in ORC ( #22240 )
...
fixes #22237 ; fixes #21160 ; wrong cursor on unowned parameters
2023-07-10 10:31:13 +02:00
Andreas Rumpf
a15db5d60b
fixes #22175 ( #22229 )
2023-07-06 15:15:50 +02:00
Jake Leahy
7616e6ee2b
Fix concepts with doc comments ( #22228 )
...
* Add testcase
This tries to use a concept with a doc comment which currently leads to a segfault
* Ignore nil nodes which happen when there are doc comments in new style concept
This was done instead of semming the comments since `semConceptDecl` says it only supports lists of actual statements
* Go with alternative fix: Sem comments but ignore them
Since `nil` could mean anything it is best to not silently ignore it (In case another nil problem happens in future
Also fix test case so it isn't an infinite loop
2023-07-06 08:18:47 +02:00
ringabout
145e002c74
fixes #22132 ; hoisted openArray params result in erroneous code ( #22224 )
2023-07-05 11:21:57 +02:00
Andreas Rumpf
86ff37fab8
fixes #22138 ( #22221 )
2023-07-04 23:35:25 +02:00
ringabout
31ba1046fc
add a test case for #22190 in case of regression ( #22217 )
2023-07-04 10:58:14 +08:00
ringabout
d9a24b9b81
fixes #22208 ; Ambiguous error when import modules with same names but… ( #22211 )
...
fixes #22208 ; Ambiguous error when import modules with same names but different aliases
2023-07-03 14:08:40 +02:00