Jason Beetham
7bdfeb7819
Fixed concept constraints for static types ( #19391 )
2022-01-15 09:24:23 +01:00
Jason Beetham
a93f6e7acc
Generic parameters now can constrain statics in type definitions ( #19362 )
...
* Parameters now can constrain static in type definitions
resolved regression with generic procedures
* Update compiler/sigmatch.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2022-01-14 00:39:55 +08:00
flywind
9b9ae8a487
nrvo shouldn't touch bycopy object[backport:1.2] ( #19385 )
...
fix nim-lang#19342
2022-01-14 00:39:17 +08:00
flywind
92e5573b20
fix stylecheck error with asyncdispatch ( #19350 )
...
* stylecheck usages part two: stdlib cleanup
typeinfo.nim: importCompilerProc => importcompilerproc
nre.nim: newLineFlags => newlineFlags
system.nim: JSRoot => JsRoot
ref #19319
* prefer importCompilerProc
* fix stylecheck error with asyncdispatch
it is a partial regression since #12842
* add tests
* don't use echo in tests
2022-01-10 10:29:04 +01:00
gecko
955040f0f1
Fix remove on last node of singly-linked list [backport:1.6] ( #19353 )
2022-01-10 10:27:59 +01:00
flywind
9df195ef58
style usages part one (openarray => openArray) ( #19321 )
...
* style usages (openArray)
* revert doc changes
2022-01-04 13:29:50 +01:00
rockcavera
526a32e169
Fix #19314 - fixing broken DoublyLinkedList after adding empty DoublyLinkedList ( #19315 ) [backport]
...
* Update lists.nim
* Update tlists.nim
2022-01-03 20:14:08 +01:00
Carlo Capocasa
e49d52eb61
Add Week-Of-Year Implementation to Times Module ( #17223 )
...
* initial
* more tests
* Apply suggestions from code review
idiomatize
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
* test iron age dates
* add examples
* fix typo
* consistent param mention
* add since pragrams
* add changelog
* Update lib/pure/times.nim
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
* fix examples
* fix negative years
* add getWeeksInYear tests
* add back fix dropped by rebase
* week-year tuple api
* add changelog
* fix doc tags
* add docstrings
* fix typos
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
2022-01-03 09:11:23 +01:00
hlaaftana
61d682e733
Allow full commands and blocks in type sections ( #19181 )
...
* allow full commands and blocks in type sections
* update grammar
* fix changelog [skip ci]
* more tests
* even more tests
2022-01-02 07:29:55 +01:00
hlaaftana
faaf271928
Update JS and nimscript import tests ( #19306 )
...
* add new modules, except experimental ones
* remove deprecated modules mersenne and sharedlist
* better describe why some modules fail and some modules don't
2022-01-01 13:33:16 +01:00
rockcavera
dc5c88ca79
Fix #19297 - fixing broken list after adding empty list ( #19299 )
...
* Update lists.nim
* Update tlists.nim
* removed check `if b.tail != nil`
The tail of the list being null it is still possible to retrieve its end by going through all nodes from the head. So checking for null from `b.tail` is unnecessary. However, setting `a.tail = b.tail` only if `a.head != nil`, so you don't break a good list with an already broken one.
2021-12-30 21:52:48 +01:00
Jason Beetham
fa96e56ad0
Fixed object field access of static objects in generics ( #19283 ) [backport]
2021-12-23 07:12:56 +01:00
Jake Leahy
4da7dbffc5
Extract runnables that specify doccmd ( #19275 ) [backport:1.6]
2021-12-20 17:29:03 +01:00
rockcavera
5ddaf3e1fb
fix #19244 - solves the problem of the InAddr object constructor in Windows. ( #19259 )
...
* Update winlean.nim
* Update tnet_ll.nim
2021-12-17 09:01:33 +01:00
Miran
c17baaefbc
[backport:1.0] json: limit recursion depth ( #19252 )
...
* json: limit recursion depth
* do not run this check for JS backend
2021-12-14 18:16:49 +01:00
Nick Wilburn
c55930f2e6
fix: fixes bug in CVerifyPeerUseEnvVars ( #19247 )
...
Previously CVerifyPeerUseEnvVars was not being passed into
scanSslCertificates, which meant that we weren't scanning
additional certificate locations given via the SSL_CERT_FILE and
SSL_CERT_DIR environment variables
2021-12-14 12:22:10 +00:00
Carlo Capocasa
0ff4b2ba7e
fix bug #14468 zero-width split ( #19248 )
2021-12-13 07:29:22 +01:00
Jaremy Creechley
4b5cecd902
Various std net improvements ( #19132 )
...
* Variant of that works with raw IpAddresses.
- Add doc tests for new net proc's.
- Aadd recvFrom impl
- Add recvFrom impl -- tweak handling data var
- Update lib/pure/net.nim
Co-authored-by: Dominik Picheta <dominikpicheta@googlemail.com >
- cleaning up sendTo args
- remove extra connect test
- cleaning up sendTo args
- fix inet_ntop test
- fix test failing - byte len
* fix test failing - byte len
* debugging odd windows build failure
* debugging odd windows build failure
* more experiments to figure out the windows failure
* try manual assigment on InAddr
Co-authored-by: Jaremy Creechley <jaremy.creechley@panthalassa.com >
2021-12-12 21:39:56 +00:00
Andreas Rumpf
9338aa2497
fixes a possible 'javascript:' protocol exploit [backport:1.0] ( #19134 )
...
* fixes a possible 'javascript:' protocol exploit [backport:1.0]
* add tests
* Update tests/stdlib/trstgen.nim
* add the same logic for hyperlinks
* move the logic into a proc
Co-authored-by: narimiran <narimiran@disroot.org >
2021-12-10 09:24:20 +01:00
Ștefan Talpalaru
69aabdab80
nimRawSetjmp: support Windows ( #19197 )
...
* nimRawSetjmp: support Windows
Using `_setjmp()` directly is required to avoid some rare (but very
annoying) exception-related stack corruption leading to segfaults on
Windows, with Mingw-w64 and SEH.
More details: https://github.com/status-im/nimbus-eth2/issues/3121
Also add "nimBuiltinSetjmp" - mostly for benchmarking.
* fix for Apple's Clang++
2021-12-10 06:31:29 +01:00
Andreas Rumpf
32d4bf3525
fixes an old ARC bug: the produced copy/sink operations don't copy the hidden type field for objects with enabled inheritance; fixes #19205 [backport:1.6] ( #19232 )
2021-12-09 22:23:16 +01:00
Andreas Rumpf
502ac4ed5e
fixes a converter handling regression that caused private converters to leak into client modules; fixes #19213 ; [backport:1.6] ( #19229 )
2021-12-09 13:56:51 +01:00
Etan Kissling
0213c7313b
allow HSlice bounded by constants of distinct types ( #19219 ) [backport:1.2]
...
When creating heterogenous slices of distinct types, the compiler does
not initialize the internal type's `size` before accessing it.
This then leads to this crash message:
```
compiler/int128.nim(594, 11) `false` masking only implemented for 1, 2, 4 and 8 bytes [AssertionError]
```
This patch initializes the `size` properly, fixing the problem.
2021-12-06 20:38:23 +01:00
hlaaftana
1ef945668d
treat do with pragmas but no parens as proc ( #19191 )
...
fixes #19188
2021-12-05 06:44:22 +01:00
Andreas Rumpf
1cbdc1573a
fixes #19159 [backport:1.6] ( #19210 )
2021-12-04 07:44:26 +01:00
Andreas Rumpf
f90620fb32
fixes #19198 [backport:1.6] ( #19209 )
...
* fixes #19198 [backport:1.6]
* added a test case
2021-12-04 07:43:20 +01:00
Andreas Rumpf
d584dd5b99
fixes #19015 [backport:1.6] ( #19204 )
2021-12-04 07:42:58 +01:00
hlaaftana
f91867aa31
accept object type node from macros ( #19179 )
2021-11-24 16:34:42 +01:00
hlaaftana
c7c6b13a32
parseExpr/parseStmt accept filename, fixes #13540 ( #19182 )
2021-11-24 12:22:40 +01:00
hlaaftana
2859069dbe
fix #12274 ( #19180 )
2021-11-24 07:08:07 +01:00
hlaaftana
5933aece9b
caseStmtMacros no longer experimental, experimental manual refactor (#19173 )
...
* `caseStmtMacros` no longer experimental, experimental manual refactor
* Update doc/manual.rst
* apply review suggestions
* apply review
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2021-11-23 16:30:17 +01:00
Andrey Makarov
040d23e799
implement RST & Markdown quote blocks ( #19147 )
...
* implement RST & Markdown quote blocks
* compile with nim 1.0
* Fix indentation
2021-11-23 13:02:03 +01:00
hlaaftana
1b143f5e79
Accept nnkTypeSection from typedef macro pragmas ( #19168 )
2021-11-22 10:41:35 +01:00
flywind
fe46c8b5f1
fix marshal bugs in VM ( #19161 ) [backport:1.6]
2021-11-17 10:15:54 +01:00
Jaremy Creechley
92d6fb86c6
Enable customizing PageShift to set PageSize for embedded targets ( #19129 )
...
* Enable customizing PageSize (via PageShift).
This enables adjusting PageSize for embedded targets without abusing
cpu16.
* copy nimPageXYZ settings for mmpaptest
* add docs for Nim manual
* add docs for Nim manual
* docs tweaks
Co-authored-by: Jaremy Creechley <jaremy.creechley@panthalassa.com >
2021-11-16 20:30:07 +01:00
Christoph Krybus
ade85ee91f
Fix punycode.decode function ( #19136 )
...
* Refactor: rename proc to func
* Fix punycode.decode function
This function could only properly decode punycodes containing a single
encoded unicode character. As soon as there was more than one punycode
character group to decode it produced invalid output - the number of
characters was correct, but their position was not.
* Update tpunycode.nim
Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com >
2021-11-12 22:51:58 -05:00
Andreas Rumpf
c6fc3b2eae
fixes #19051 [backport:1.6] ( #19133 )
2021-11-12 11:19:24 +01:00
Andreas Rumpf
b7c66ce860
fixes #19013 [backport:1.6] ( #19111 )
...
* fixes #19013 [backport:1.6]
* added test case
2021-11-09 12:43:16 +01:00
Andrey Makarov
b21eb1ed36
change os.nim doc links to new style ( #19102 )
2021-11-08 13:10:01 +01:00
Andreas Rumpf
fce89cb60a
fixes another effect inference bug [backport:1.6] ( #19100 )
...
* fixes another effect inference bug [backport:1.6]
2021-11-07 16:38:02 +01:00
Kaushal Modi
dbbafd320c
manual: Document that comma propagates the default values of parameters ( #19080 )
...
* manual: Document that comma propagates the default values of parameters
Fixes https://github.com/nim-lang/Nim/issues/15949 .
* Use the "bug #NNNN" comment syntax for consistency
Ref:
https://nim-lang.github.io/Nim/contributing.html#writing-tests-stdlib
> Always refer to a GitHub issue using the following exact syntax: bug
for tooling.
2021-11-03 08:08:50 +01:00
Kaushal Modi
5fed1c05ce
manual: Document the use of static as a proc call ( #19084 )
...
* manual: Document the use of `static` as a proc call
Also adds tests.
Fixes https://github.com/nim-lang/Nim/issues/16987 .
* Update doc/manual.rst
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
* Use the "bug #NNNN" comment syntax for consistency
Ref:
https://nim-lang.github.io/Nim/contributing.html#writing-tests-stdlib
> Always refer to a GitHub issue using the following exact syntax: bug
for tooling.
* manual: Undocument usage of foo.static
foo.static and foo.static() are not expected to work.
Ref: https://github.com/nim-lang/Nim/pull/19084/files#r741203578
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
2021-11-03 06:48:30 +01:00
Kaushal Modi
539bced70d
Add test for issue 15435 ( #19079 )
...
* Add test for issue 15435
Closes https://github.com/nim-lang/Nim/issues/15435 .
* Specify bug # in comment
Addresses https://github.com/nim-lang/Nim/pull/19079#discussion_r740279547
2021-11-03 06:46:34 +01:00
Kaushal Modi
2e0db988e7
tests: Fix warnings in tstrscans ( #19082 )
2021-11-02 09:06:46 +01:00
Jason Beetham
cc984217a9
Fix VM's sametype impl to work for generics/typedescs ( #19073 )
...
* Fix vm's sametype implementation to properly handle generics and typedescs
* actually fixed sametype + have test
* added comments and removed unsafe code
2021-11-02 09:02:53 +01:00
flywind
2f730afe9e
fix #18410 (Errors initializing an object of RootObj with the C++ backend) [backport] ( #18836 )
...
* fix #18410
* one line comment
* typo
* typo
* cover cpp
2021-10-31 06:22:00 +01:00
Derek 呆
f755e452d2
fix #18971 ( #19070 ) [backport:1.6]
...
since the example code return value from global variable, instead
of first argument, the `n.len` is 1 which causes compiler crashes.
2021-10-29 19:55:48 +02:00
Tomasz Kramkowski
ee703c5db4
Fix nimIdentNormalize, fixes #19067 ( #19068 )
...
* Make nimIdentNormalize return "" when passed ""; fixes #19067
Fixes #19067
* Add tests for nimIdentNormalize
2021-10-29 11:39:41 +02:00
Andrey Makarov
7ba2659f73
docgen: implement doc link resolution in current module ( #18642 )
2021-10-28 19:20:52 +02:00
Jason Beetham
8d5a275189
Fixed distinct composite type class proc borrowing ( #18904 )
...
* Fixed composite type class proc borrowing
* Moved borrow search into transf
* added borrow check to symbol flag
2021-10-26 11:29:07 +02:00