metagn
2bd1aa186e
New/better macro pragmas, mark some as experimental ( #19406 )
...
* New/better macro pragmas, make some experimental
fix #15920 , close #18212 , close #14781 , close #6696 ,
close https://github.com/nim-lang/RFCs/issues/220
Variable macro pragmas have been changed to
only take a unary section node.
They can now also be applied in sections with multiple variables,
as well as `const` sections. They also accept arguments.
Templates now support macro pragmas, mirroring other routine types.
Type and variable macro pragmas have been made experimental.
Symbols without parentheses instatiating nullary macros or templates
has also been documented in the experimental manual.
A check for a redefinition error based on the left hand side of variable
definitions when using variable macro pragmas was disabled.
This nerfs `byaddr` specifically, however this has been documented as
a consequence of the experimental features `byaddr` uses.
Given how simple these changes are I'm worried if I'm missing something.
* accomodate compiler boot
* allow weird pragmas
* add test for #10994
* remove some control flow, try remove some logic
2022-01-20 20:57:50 +01:00
Regis Caillaud
1563cb2f6e
Fix #11923 ( #19427 )
...
* Apply commit 5da931fe81 that was never merged (was part of a bigger PR). Should fix issue #11932
* add a generic object for custom pragma
2022-01-20 20:50:36 +01:00
flywind
927fa890ec
enable weave ( #19363 ) [backport:1.6]
...
* enable weave
* workaround CI
2022-01-20 13:59:36 +01:00
James
851e515bba
Resolve cross file resolution errors in atomics ( #19422 ) [backport:1.6]
...
* Resolve call undeclared routine testAndSet
* Fix undeclared field atomicType
2022-01-20 13:58:59 +01:00
flywind
4a38092ac1
Added std/envvars for env vars handling ( #19421 )
2022-01-20 13:55:19 +01:00
Tom
ce44cf03cc
Add noQuit option ( #19419 ) [backport:1.6]
...
* Add noQuit option
* Add nim prefix in case of conflicts
Co-authored-by: flywind <xzsflywind@gmail.com >
Co-authored-by: flywind <xzsflywind@gmail.com >
2022-01-19 17:41:11 +01:00
metagn
08261cb9e3
Don't reject types directly on AST ( #19407 )
...
Instead of rejecting type expressions based on node kind,
evaluate the expression as a type.
This is already the behavior for call results, and it has its own error
for non-types, which is the same error you would normally get
with 2 words swapped.
2022-01-19 12:38:14 +01:00
flywind
5d34e81f23
fix term rewriting with sideeffect ( #19410 )
...
* fix term rewriting with sideeffect
fix #6217
* add tests
* Update tests/template/template_various.nim
2022-01-19 12:37:30 +01:00
nblaxall
23c4bbedcb
add an example to setControlCHook ( #19416 )
...
* add an example to setControlCHook
* [skip CI] format example for setControlCHook
Co-authored-by: Nathan Blaxall <nathan.blaxall@actionstep.com >
2022-01-19 12:25:21 +01:00
flywind
b3c178c202
suppress deprecated warnings ( #19408 )
...
* suppress deprecated warnings
once bump version to 1.7.3 enable deprecated messages
* deprecate later
2022-01-19 08:39:22 +01:00
flywind
aac54b9c7f
fix stricteffects (nimsuggest/sexp) ( #19405 )
...
* fix stricteffects (nimsuggest/sexp)
* Update tstrict_effects3.nim
* Update tests/effects/tstrict_effects3.nim
2022-01-18 16:02:35 -05:00
Andrey Makarov
d7869a8009
Improve Zshell completion ( #19354 )
2022-01-18 15:58:18 -05:00
Hamid Bluri
5d303762f1
update deprecated example ( #19415 )
...
`toNimIdent` proc is deprecated, so I replaced it with `ident` proc
2022-01-18 15:55:39 -05:00
flywind
bc3bee5469
Added std/oserrors for OS error reporting ( #19390 )
...
* Added 'std/oserrors' for OS error reporting
* add a simple test
* New code should not support -d:useWinAnsi anymore
thanks to @Araq
2022-01-17 13:06:31 +01:00
hlaaftana
07c7a8a526
Optimize lent in JS [backport:1.6] ( #19393 )
...
* Optimize lent in JS [backport:1.6]
* addr on lent doesn't work anymore, don't use it
* use unsafeAddr in test again for older versions
2022-01-17 13:03:40 +01:00
Jaremy Creechley
dc8ac66873
fix no net compilation on zephyr ( #19399 )
...
Co-authored-by: Jaremy J. Creechley <jaremy.creechley@panthalassa.com >
2022-01-17 13:02:31 +01:00
flywind
4f6b59de96
mangle names in nimbase.h using cppDefine ( #19395 ) [backport]
...
mangle names in nimbase.h
fix comments
2022-01-17 11:14:13 +01:00
flywind
2c5b367001
improve changelog a bit ( #19400 )
2022-01-17 11:54:27 +08:00
flywind
15e3813d96
add mm to compilesettings; deprecate gc ( #19394 )
2022-01-16 21:10:35 +01:00
flywind
d102b2f54c
deprecate unsafeAddr; extend addr ( #19373 )
...
* deprecate unsafeAddr; extend addr
addr is now available for all addressable locations, unsafeAddr is deprecated and become an alias for addr
* follow @Vindaar's advice
* change the signature of addr
* unsafeAddr => addr (stdlib)
* Update changelog.md
* unsafeAddr => addr (tests)
* Revert "unsafeAddr => addr (stdlib)"
This reverts commit ab83c99c50 .
* doc changes; thanks to @konsumlamm
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
2022-01-16 11:08:38 +01:00
hlaaftana
a95399143f
Use openarray of bytes in md5 ( #19307 )
...
* Use openarray of bytes in md5
* fix CI
* cleanup
* use noSideEffect for bootstrapping
* fix CI again
* actually fix CI by checking if it works
* this is getting ridiculous
* put old md5 version in compiler, remove vmop
2022-01-15 13:19:05 +01:00
flywind
342b74ef70
move type operation section and remove deepcopy document ( #19389 )
...
ref #19173 ; because deepcopy is not fit for ORC/ARC which was used for spawn and spawn will be removed from compiler
2022-01-15 11:25:09 +01:00
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
Leon
5853303be0
docs: Fix broken cross references to rfind in strutils ( #19382 ) [backport]
...
Fixes three broken cross references to `rfind` in strutils.
Breakage due to signature changes of the `rfind` methods.
Co-authored-by: adigitoleo <adigitoleo@dissimulo.com >
2022-01-13 14:45:47 +01:00
flywind
40a9c33eff
update copyright year ( #19381 )
2022-01-13 14:43:35 +01:00
Leon
a9135095f0
docs: Mention import foo {.all.} syntax ( #19377 )
...
Mention the `import foo {.all.}` syntax in the manual,
with a caveat about private imports.
Also link to the experimental importutils module.
Co-authored-by: adigitoleo <adigitoleo@dissimulo.com >
2022-01-13 14:40:27 +01:00
flywind
ada815e459
make rst thread safe ( #19369 )
...
split for the convenience of review
2022-01-13 08:03:14 +01:00
flywind
9a32905d89
nimscript ignore the threads option ( #19370 )
...
because nimscript doesn't support threads and causes troubles when the threads option is on
2022-01-13 08:02:41 +01:00
Andreas Rumpf
9888a29c3d
bitsets.nim: cleanup ( #19361 )
2022-01-11 10:16:51 +01:00
flywind
bcbeff3632
remove spaces between an identifier and a star ( #19355 )
...
It makes search easier by searching `+`* instead of `+` which filter lots of unexported versions.
Follow https://github.com/nim-lang/Nim/pull/18681
2022-01-10 11:59:44 +01: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
Smarcy
b098546da0
added filemode docs ( #19346 )
2022-01-09 14:02:08 +01:00
flywind
ae92eac060
stylecheck usages part two: stdlib cleanup ( #19338 )
...
* stylecheck usages part two: stdlib cleanup
typeinfo.nim: importCompilerProc => importcompilerproc
nre.nim: newLineFlags => newlineFlags
system.nim: JSRoot => JsRoot
ref #19319
* prefer importCompilerProc
2022-01-08 21:34:22 +01:00
Zachary Marquez
58656aa5bb
fix nim-lang#19343 ( #19344 ) [backport]
...
Ensure HttpClient onProgress is called once per second
Ensure that reported speed is accurate
2022-01-08 10:22:56 +01:00
flywind
4306d8fb36
disable fragments ( #19341 )
...
The original repo has moved to Rust, while the package path stay unchanged. And it causes troubles to https://github.com/nim-lang/Nim/pull/19338
2022-01-08 12:06:28 +08:00
rockcavera
c7d5b8c83d
Fix #19038 - making the Nim compiler work again on Windows XP ( #19331 )
...
* Update osenv.nim
* Update win_setenv.nim
* Update lib/pure/includes/osenv.nim
* Update lib/pure/includes/osenv.nim
* fixing cstring
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2022-01-07 08:26:55 +01:00
rockcavera
5ec8b60942
Update net.nim ( #19327 ) [backport]
2022-01-06 12:19:32 +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
flywind
1869826668
add std/private/win_getsysteminfo; refactor the usage of GetSystemInfo ( #19310 )
...
* add std/private/win_getsysteminfo
* import at the top level
* wrappers follow nep1 too
* follow review comment
2022-01-04 11:49:54 +01:00
flywind
0bcd7062c6
correct the comments ( #19322 )
...
--expandArc
```
var
a
b
a = matrix(5, 5, 1.0)
b = matrix(5, 5, 2.0)
`=sink`(b, -
let blitTmp = b
wasMoved(b)
blitTmp +
a)
`=destroy`(b)
`=destroy`(a)
```
2022-01-04 11:10:46 +01:00
Nan Xiao
39a27783fc
docs: Fix typo in tut1.rst ( #19324 )
2022-01-04 10:42:21 +01:00
Ștefan Talpalaru
35cae73aa5
devel: style fix ( #19318 )
...
this allows "--styleCheck:usages --styleCheck:error"
2022-01-04 07:56:10 +01:00
Smarcy
fcf1df6e56
fixed typos ( #19316 )
2022-01-03 15:04:15 -05: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
flywind
19bcb43a0e
enable multiple packages (arraymancer, fidget ...) ( #19311 )
...
The cause of arraymancer failure has been tracked here: https://github.com/mratsim/Arraymancer/issues/505
And it was fixed by https://github.com/mratsim/Arraymancer/pull/542
2022-01-03 20:40:43 +08:00
Nan Xiao
bd4f76a2e3
docs: Fix typo in tut1.rst ( #19309 )
2022-01-03 10:30:26 +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