metagn
685bf944aa
fix #20067 , fix #18976 [backport] ( #20069 )
2022-07-22 15:04:07 +08:00
flywind
15ae9323e8
fix NimNode comment repr() regression [backport: 1.2] ( #19726 )
2022-04-25 11:19:21 +02:00
Tanguy
ef3f343ec2
Allow std/macros.params to work with nnkProcTy ( #19563 )
...
* Allow std/macros.params to work with nnkProcTy
* Add tests for proc params & pragma
2022-02-25 12:57:58 +01:00
flywind
2ef71c0a46
[testcase] genSym fails to make unique identifier for ref object types ( #19506 )
...
close #15118
2022-02-14 14:36:01 +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
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
Dankr4d
c70e4040bd
fixes #14511 [backport:1.4] ( #18732 )
...
* fixes #14511 [backport:1.4]
Signed-off-by: Dankr4d <dude569@freenet.de >
* Replaced fix with code from alaviss, for better readability, with small
changes.
Signed-off-by: Dankr4d <dude569@freenet.de >
* - Specified output in test.
Signed-off-by: Dankr4d <dude569@freenet.de >
* Replaced case in nnkRecCase with a simpler version, which just adds the
last son.
Signed-off-by: Dankr4d <dude569@freenet.de >
* Update tests/macros/t14511.nim
* Update tests/macros/t14511.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2021-08-25 17:27:00 +00:00
Clyybber
13b94c0297
Fix doubly typed forward declarations ( #18279 )
...
* Add testcase
* Fix testcase
* Fix doubly typed forward decls
* Better fix
2021-06-16 16:40:22 +02:00
Clyybber
c5cf21c0c4
Don't report unused hints for consumed AST ( #18270 )
...
* Fix #18203
* Add testcase
* Fix testcase
* Fix test
2021-06-16 02:45:05 +02:00
Saem Ghani
488acd9d07
fixes #18235 - proc annotation type macro sym leak ( #18249 )
...
* fixes #18235 - proc annotation type macro sym leak
- also fixed a typo
- proc annotations guard symbol exports with shadow scopes
- symbol handling is shadow scope aware
* test for exporting an existing unexported sym
this one is for my homie alaviss.
* Special handling not needed in semProcAnnotation
* Testcasing
* [skip ci] clean-up and add some more comments
* [skip ci] rm trailing whitespace
Co-authored-by: Clyybber <darkmine956@gmail.com >
2021-06-14 09:21:33 +02:00
Timothee Cour
897e50d5fe
getType now works with tyInferred (arising from concepts); refs #18220 ( #18241 )
...
* getType now works with tyInferred (concepts); refs #18220
* avoid cast
* add more docs
2021-06-12 21:35:12 +02:00
Timothee Cour
3cc547f2df
macros.treeRepr + friends: collapse SymChoice ( #18072 )
...
* macros.treeRepr + friends: collapse SymChoice
* make repr+friends work with invalid symchoice nodes
* address comment
2021-06-05 06:58:26 +02:00
Dylan Modesitt
06d50bfd4c
Fixes #5034 illformed AST from getImpl with proc returning value ( #17976 )
...
* Fixes 5034
* address comments
2021-05-31 22:51:32 +02:00
Saem Ghani
17db15f9b1
fix #17836 (typed macro isNil for proc params) ( #17841 )
...
thanks @alaviss for the test
2021-04-25 10:30:52 +02:00
flywind
774e66f3d1
close #7875 add testcase ( #17611 )
...
* close #7875 add testcase
* fix
2021-04-02 11:56:30 +02:00
Arne Döring
159c06e045
unify tuple expressions ( #13793 )
...
* unify tuple expressions
* fix test
* fix test
* apply feedback
* Handle empty tuples
* Fix rendering named unary tuple
* Protect static NimNode against stripping
* Slightly less hacky
* Revert "Slightly less hacky"
This reverts commit 170c5aec0addc029f637afbc948700ca006b7942.
* Slightly less hacky
* Cleanup
* Fix test
* Fix another test
* Add condsym
* Rebase fallout
* changelog: Move from compiler changes to language changes
* Add stricter tests
* Add empty tuple example to doc/astspec
* Fix test
Co-authored-by: Clyybber <darkmine956@gmail.com >
2021-03-30 02:06:51 +02:00
Timothee Cour
a65189a739
nnkArglist => nnkArgList + special case stylecheck:error ( #17529 )
...
* nnkArglist => nnkArgList
* special case stylecheck:error
2021-03-27 10:28:11 +01:00
konsumlamm
2e8325a19c
Remove support for named procs with sugar.=> ( #17220 )
...
* Add docs & tests for named procs with sugar.=>
* Remove support for named procs in sugar.=>
* Resolve conflict
* Fix test
2021-03-05 12:08:03 +01:00
hlaaftana
6a7baff97d
rename case statement macro from match to case ( #16923 )
...
* rename case statement macro from match to `case`
* fix test
2021-02-08 19:35:06 +01:00
hlaaftana
1d1b3f79fd
fix broken => for typed procs with pragmas ( #16190 )
...
* fix broken => for typed procs with pragmas
* add more sugar tests
* add ending quote
2020-12-01 12:01:36 +01:00
Timothee Cour
b809562c7c
make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec ( #16151 )
...
* fix megatest newlines
* still allow missing trailing newline for now but in a more strict way than before
2020-11-28 09:09:31 +01:00
cooldome
2f1a9eadd7
More on #16110 ( #16130 )
...
* fix #16110
* refs #16110
* fix comment
* Trigger build
* use shallowCopy for efficiency
2020-11-26 13:44:06 +00:00
Timothee Cour
3e7077ac7d
fix #14339 , #13511 , #14420 : fixes limited VM support for addr ( #16002 )
...
* fix #14339 : fixes limited VM support for addr
* strengthen test
* reference bug #16003
* also fixes #13511
* also fixes #14420
2020-11-25 20:48:10 +01:00
cooldome
1d14b2c9e6
fix #16110 ( #16117 )
2020-11-24 15:49:14 +01:00
Andrey R (cooldome)
9a2a83ad71
Revert "fix #16110 "
...
This reverts commit f8b9d8c190 .
2020-11-24 12:11:13 +00:00
Andrey R (cooldome)
f8b9d8c190
fix #16110
2020-11-24 11:53:55 +00:00
flywind
1bcc352137
close #14847(add testcase for #14847 ) ( #16045 )
2020-11-19 08:31:54 +01:00
flywind
ae86df12af
add testcase for #14227 ( #15794 )
2020-10-30 15:53:45 +01:00
Andreas Rumpf
92163fa330
implements https://github.com/nim-lang/RFCs/issues/258 ( #15503 )
...
* implements https://github.com/nim-lang/RFCs/issues/258
* don't be too strict with custom pragma blocks
* cast pragmas: documentation
* added most missing inference query procs to effecttraits.nim
2020-10-06 16:47:15 +02:00
alaviss
fc973b2c0c
renderer: use the biggest integer type for masking literals ( #15482 )
...
On 32-bit system the mask would have a size of 32-bit, which is smaller
than the BiggestInt (usually 64-bit) it was masked against.
For some reason this only affect 32-bit Windows but not 32-bit Linux.
Might just be a difference in how gcc handle out of bound shifts for
Windows and Linux.
2020-10-04 00:39:56 +02:00
Andreas Rumpf
1f4b9cebd4
Added std/effecttraits.nim ( #15462 )
2020-10-02 17:22:31 +02:00
cooldome
f21a49b2c4
Fix #15389 ( #15390 )
...
* allow result symbol reuse
* try different approach
* Revert "try different approach"
This reverts commit abcfb6b759 .
2020-09-24 00:07:30 +01:00
Clyybber
4b9eea2fcc
Fix forward declarations in shadow scope contexts ( #15386 )
...
* Fix forward declarations in shadow scope contexts
* Add testcase for #15385
* Less empty lines
* Fix tests
* Inline isShadowScope
* Add original testcase (with reduced amount of iterations)
* Add testcase without forward decl
2020-09-22 18:24:13 +02:00
cooldome
d938c6411e
fix #15326 ( #15341 )
2020-09-16 21:37:23 +02:00
cooldome
341be0b61c
proc params as syms ( #15332 )
...
* proc params are now syms
* Fix typesrenderer
* Add testcase for disrupteks issue
* fix test
* Trigger build
* Trigger build
* Trigger build
Co-authored-by: Clyybber <darkmine956@gmail.com >
2020-09-16 17:25:24 +01:00
Miran
c49b88163c
"for-loop macros" are no longer an experimental feature ( #15288 )
2020-09-08 14:25:25 +02:00
Clyybber
fb58066b61
Fix #5691 ( #15158 )
...
* Fix #5691
* Cleanup and thoughts
* Use scope approach
* Seperate defined/declared/declaredInScope magics
* Fix declaredInScope
* Update spec accordingly
2020-08-27 15:50:59 +02:00
Clyybber
2629d619a1
Fix forward declaration issues in template/macro context ( #15091 )
...
* Fix forward declaration issues in template/macro context
* Correct forward declaration resolving for overloads
* Remove old dead code
* WIP consistent gensym ids
* Minimize diff
* Remove obsoleted hack
* Add templInstCounter to give unique IDs to template instantiations
* Remove obsoleted code
* Eh, init in myOpen, not myProcess...
* Remove optNimV019
* Add testcase for #13484
2020-07-29 16:17:20 +02:00
Timothee Cour
169ca37d26
enable,document,test getImplTransformed, very useful for understanding how nim transforms code ( #14924 )
...
* enable,document,test getImplTransformed, very useful for understanding how nim transforms code
2020-07-18 10:49:36 +02:00
Clyybber
695a537c05
Closes #13253
2020-07-14 19:50:42 +02:00
Juan Carlos
9465b5db44
Clean up macros ( #14959 )
2020-07-14 16:44:56 +02:00
Clyybber
9016dd96ee
Add testcase for #12129 ( #14940 )
...
* Add testcase for #12129
* Fix test
2020-07-08 22:04:21 +02:00
Timothee Cour
9c42ae91b7
add legacy workaround; improve test so that it actually tests for the bugfix
2020-06-19 09:53:06 +02:00
solo989
408518c9fe
Update tuple newLit
2020-06-19 09:53:06 +02:00
cooldome
e5b64af831
Implement rendering of []=, {}, {}= braces ( #14539 )
...
* render curly braces
* fix typo
* fix test
Co-authored-by: cooldome <ariabushenko@bk.ru >
2020-06-01 19:56:17 +02:00
hlaaftana
3e060cfb0a
=> supports pragmas & names (+ changed behavior) ( #14200 )
...
* => supports pragmas & names (+ changed behavior)
(x, y: int) is now parsed as (x: int, y: int) instead of
(x: auto, y: int) inside => and ->.
* fix pragma check
* fixes, use since & LHS of -> supports pragmas
2020-05-03 10:22:49 +02:00
Araq
ff1c0bae4c
update tests that tested for the 'discard' error messages
2020-05-02 22:31:19 +02:00
zah
e50441ab33
Fix typeSym.getImpl for ref types ( #13752 )
...
* Fix typeSym.getImpl for ref types
* Fix a codegen issue affecting the test suite of nim-beacon-chain
* Fix tests/stdlib/tjsonmacro
To understand the fix better it may help to take a look
at the history of the replaced code.
The nil check that is removed in this commit was introduced
in another fix that failed to identify the root cause of the
issue - namely that we allow an object type to exist for which
no ast is present:
https://github.com/nim-lang/Nim/pull/9601/files
The original intention of the code is more obvious here:
https://github.com/nim-lang/Nim/pull/9538/files
2020-03-26 09:26:19 +01:00
Miran
5b55aa52d0
fix deprecations and other warnings ( #13748 )
2020-03-25 19:15:34 +01:00