ringabout
a228e331f3
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 >
2022-11-06 22:25:55 +08:00
Bung
bae0fb720a
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
2022-11-06 11:49:34 +01:00
Bung
fdc8dd4128
Arc global ( #20768 )
...
* temp
* unsure
* fix condition
* port macro arc runable examples to one file
* trigger doc ci
* fix
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com >
2022-11-06 11:47:35 +01:00
Andreas Rumpf
3c2c728eb6
codegen: optimized generation of proc headers ( #20770 )
2022-11-06 11:46:19 +01:00
ringabout
afd4e22f76
Revert "fix arc global variable issues" ( #20764 )
...
* Revert "fix arc global variable issues (#20759 )"
This reverts commit a3d32a4176 .
* trigger documentation builds
2022-11-05 22:47:12 +08:00
Bung
10e7f18d01
remove compiler/strutils2.nim ( #20748 )
...
* use std strutils toLowerAscii char
* avoid additional call and assign
* remove compiler/strutils2.nim
* canonical
2022-11-05 12:22:45 +01:00
Bung
a3d32a4176
fix arc global variable issues ( #20759 )
...
* temp
* unsure
2022-11-05 12:22:16 +01:00
konsumlamm
4491da4c4d
Support doc comments in new-styled concepts ( #20752 )
...
Support comments in new-styled concepts
2022-11-04 20:32:41 +08:00
Bung
ecc8f61fe4
Fix #18079 Illegal storage access compiling call with nested ref/deref ( #20738 )
...
* add test case
* refactoring transformAddrDeref and fix #18079
* fix jsgen
2022-11-04 09:54:45 +01:00
Juan Carlos
46eac22172
Improve dollar int ( #20737 )
...
Improve dollar
2022-11-03 09:44:11 +01:00
ringabout
0b1d1b7886
fixes #15688 ; handle strongSpace overflow issues ( #20724 )
...
* fixes #15688 ; handle `strongSpace` overflow issues
* stop at 1
* change the type of strongSpaceA to bool
2022-11-03 09:18:09 +01:00
ringabout
c4e5dab419
fixes #20740 ; fixes pre-existing field visibility issues and removes efSkipFieldVisibilityCheck ( #20741 )
...
fixes #20740 pre-existing field visibility and refactoring
2022-11-03 15:46:16 +08:00
Jacek Sieka
58f79e7c3e
fix sighashes for generic ref ( #20723 )
...
the `hashType` issue in #12229 was never really fixed - it just stopped
being called in that context
2022-11-01 19:01:06 +01:00
Bung
eec1543baf
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
2022-11-01 10:19:37 +01:00
ringabout
6166b796ba
refactor os imports into corresponding small modules ( #20720 )
2022-11-01 10:18:04 +01:00
Bung
49e793e8c4
fix #20272 range of uint64 shows signed upper bound ( #20702 )
2022-11-01 05:58:32 +01:00
ringabout
39f925b95d
fixes #20715 ; range[a..b] inside object variant fails ( #20716 )
...
* fixes #20715 ; range[a..b] inside object variant fails
* step one fix
* better fix
* fixes private fields
* mistake
2022-10-31 18:42:45 +01:00
Jacek Sieka
a0653ae71a
fix closure iter state table init type [backport] ( #20717 )
...
fix closure iter state table init type
It is a well-known fact that using closed intervals for ranges is
logically, objectively and eternally wrong, as evidenced by this
off-by-one.
2022-10-31 18:41:48 +01:00
Jacek Sieka
f8b5464f31
fix dispatcher call type [backport] ( #20696 )
...
fix dispatcher call type
The call node should have the type of the dispatcher, not the static
call
2022-10-29 18:12:19 +02:00
Bung
a51ed90c5d
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
2022-10-29 18:04:05 +02:00
metagn
cb3af8ad39
alternate fix + test for #12094 , refs #13804 ( #20686 )
2022-10-29 07:20:04 +02:00
ringabout
141abb7b75
fixes #20681 ; add efSkipFieldVisibilityCheck to skip check ( #20639 )
...
* don't sem const objectConstr defaults
* fixes
* add `efSkipFieldVisibilityCheck`; fixes nkBracket types
* fixes #20681
* fixes tests
* suggestion from @metagn
* fixes tests
Co-authored-by: xflywind <43030857+xflywind@users.noreply.github.com >
2022-10-28 16:19:40 -04:00
ringabout
27896ed469
fixes type check of ranges for default fields ( #20660 )
2022-10-27 17:23:33 +02:00
Juan Carlos
82b7423cea
int128.nim fix warnings ( #20666 )
...
* Silence warning false positive for int128.nim: Warning: target type is larger than source type
* Silence warning false positive for int128.nim: Warning: target type is larger than source type
* https://github.com/nim-lang/Nim/pull/20666#discussion_r1006162835
2022-10-27 14:19:55 +02:00
Bung
aa6f9d490f
fix #6637 array index type depends generic ( #20673 )
2022-10-27 12:22:04 +02:00
ringabout
4b377b07fc
fixes #19201 ; fixes sink causes crash in VM ( #20658 )
2022-10-25 20:08:36 +02:00
Bung
4728c52c78
fix #12094 Use of _ (as var placeholder) inside a template causes XDe… ( #20635 )
...
fix #12094 Use of _ (as var placeholder) inside a template causes XDeclaredButNotUsed
2022-10-25 08:43:14 +02:00
ringabout
c1343739e1
add type check for default fields ( #20652 )
2022-10-25 07:39:57 +02:00
ringabout
064b72a59c
fixes #1027 ; disallow templates to use ambiguous identifiers ( #20631 )
...
* test qualifiedLookUp in templates
* check later
* add testcase
* add 4errormsg
* Update tests/template/m1027a.nim
Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com >
* Update tests/template/m1027b.nim
Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com >
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com >
2022-10-24 21:44:09 +02:00
Andreas Rumpf
48d41ab375
fixes #20645 ( #20646 )
...
* fixes #20645
* better bugfix
2022-10-24 21:41:29 +02:00
Jason Beetham
ea0e45e62f
Added 'openArray[char]' overloads to 'std/parseutils' ( #20527 )
...
* Added 'openarray[char]' overloads to 'std/parseutils'
* Removed redundant `start` and `last` params from slice using procs
* Fixed type for parseIdent overload
* fixed one by off with 'substr'
* removed missed start parameters for procedures
* Added 'openarray[char]' overloads to 'std/parseutils'
* Removed redundant `start` and `last` params from slice using procs
* Fixed type for parseIdent overload
* fixed one by off with 'substr'
* removed missed start parameters for procedures
* Fixed VM op to work with new 'opcSlice'
* Corrected captureBetween's logic to work with openarray
* js sys's parsefloat logic now uses openarray
Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com >
2022-10-24 14:50:54 -04:00
ringabout
7c2aa53e44
fixes #19278 ; make privateAccess work with generic ref object ( #20640 )
...
* fixes #19278 ; make `privateAccess` work with generic ref object
* fixes
2022-10-24 15:24:51 +02:00
ringabout
98b2838a30
borrowed procs can have a body now for documentation generation ( #20617 )
...
* borrowed procs can have a body now
* fixes examples
2022-10-24 10:08:39 +02:00
Tanguy
008c3ec76a
Fix double defer with break in closureiterators [backport] ( #20630 )
...
Fix double defer with break in closureiterators
Signed-off-by: Tanguy <tanguy@status.im >
Signed-off-by: Tanguy <tanguy@status.im >
2022-10-24 08:50:48 +02:00
Jason Beetham
da0a2fdca2
Unpack mSlice tupleconstr for static openarrays ( #20615 )
2022-10-22 06:37:23 +02:00
Andreas Rumpf
0faae4d5e2
fixes a strict case object problem that has been reported on the forum ( #20614 )
2022-10-21 22:46:32 +02:00
Bung
66cbcaab84
fix #20152 Illegal capture of closure iterator, when should be legal ( #20607 )
2022-10-21 09:59:05 +02:00
Bung
84fab7f39b
fix #19349 incompatible type when mixing float32 and cfloat in generics ( #20551 )
2022-10-21 09:28:18 +02:00
Bung
04c48e3c5b
fix #19426 compile error using when/elif/else and typedesc in template ( #20550 )
2022-10-21 09:26:46 +02:00
Andreas Rumpf
76763f51aa
implemented strictCaseObjects ( #20608 )
...
* implemented strictCaseObjects
* changelog update
2022-10-21 06:55:52 +02:00
Jason Beetham
4aa67ad7fd
Implemented mSlice on the VM allowing toOpenArray to work at compile time. ( #20586 )
...
* Implemented opcSlice to make 'toOpenArray' work on the VM
* Added nkOpenArray for VM to reduce bodgeness
* Fixed range issues and erraneous comments
* Range check correctly for openArrays in opcLdArr
* Inverted logic for ldArr checking
* vm now supports slicing strings
* Added string tests
* Removed usage of 'nkOpenArray' and redundant operations
* Refactored vmSlice implementation, removing redundant and incorrect code
* Made tuples go throw opcWrObj for field assignment
* All strkinds should be considered for openarrays
2022-10-20 23:59:57 +02:00
ringabout
14a2fb71b9
change vm imports after bootstrapping ( #20602 )
2022-10-20 21:47:59 +08:00
ringabout
f6a002c8a5
[std/os] split and re-export ( #20593 )
...
* [std/os] split and export
* move to private modules
* fixes docs and tests
Co-authored-by: xflywind <43030857+xflywind@users.noreply.github.com >
2022-10-20 07:58:29 +02:00
SirOlaf
2f441ac675
[backport] Handle nkOpenSymChoice for nkAccQuoted in considerQuotedIdent ( #20578 )
...
* Handle nkOpenSymChoice for nkAccQuoted in considerQuotedIdent
* Add test
* Update compiler/lookups.nim
Co-authored-by: SirOlaf <a>
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2022-10-18 14:56:38 -04:00
ringabout
b07526b2c7
refactor envvars, oserrors; register vmops ( #20592 )
...
* refactor envvars, oserrors; register vmops
* remove type definitions
2022-10-18 19:44:26 +02:00
Andreas Rumpf
81087c949f
fixes #20572 ( #20585 )
...
* fixes #20572
* added a test case
2022-10-17 23:48:51 +02:00
Can Lehmann
2102e3b02f
Fix #12517 Allow single branch when nimvm statements ( #20577 )
...
Allow single branch when statements
2022-10-17 08:01:53 +02:00
Andrey Makarov
081dfea746
Fix "imported but not used" warnings ( #20575 )
2022-10-16 20:24:16 +02:00
ringabout
0bacdf5fdf
fixes #20515 ; base method requires explicit {.gcsafe.} to be GC-safe ( #20574 )
...
* fixes #20515 ; base requires explicit `{.gcsafe.}` to be GC-safe
* add tests
2022-10-16 13:20:05 +02:00
ringabout
1e15f975b8
fixes #19162 ; enable strictEffects for v2 ( #19380 )
...
* enable stricteffects
* add gcsafe
* fix tests
* use func
* fixes pegs tests
* explicitly mark repr related procs with noSideEffect
* add nimLegacyEffects
* change URL
* fixes docopt
* add `raises: []` to repr
* fixes weave
* fixes nimyaml
* fixes glob
* fixes parsetoml
* Apply suggestions from code review
* Update testament/important_packages.nim
* add legacy:laxEffects
2022-10-15 14:07:40 +02:00