metagn
de4b0346bd
store full definition AST for consts, fix noRewrite ( #20115 )
...
* continue #9582 for consts, close #9331 , fix #20114
also move extractPragma to ast to pave the way for things like {.strdefine: "abc".} etc
* changelog correctly
* fix jsgen
* update tgetimpl
* fix sighashes
* fix #19766 , add comment about postfix
* fix noRewrite LOL
refs #16620
* fix changelog
* fix destructors
2022-09-28 15:05:01 +02:00
ringabout
7739e23420
defaults to ORC ( #19972 )
...
* defaults to Orc
* bootstrap using refc
* use gc
* init orc defines
* unregister orc
* fix gc
* fix commands
* add prepareMutation for orc
* enable deepcopy for orc
* prepareMutation
* more fixes
* some cases
* bug #20081
* partial fixes
* partial fixes
* fixes command line
* more fixes
* build Nim with refc
* use gc
* more fixes
* rstore
* orc doesn't support threadpool
* more shallowCopy
* more fixes
* fixes unsafeNew
* workarounds
* small
* more fixes
* fixes some megatest
* tcodegenbugs1 refc
* fxies megatest
* build nimble with refc
* workaround tensordsl tests
* replace shallowCopy with move
* fixes action
* workaround
* add todo
* fixes important packages
* unpublic unregisterArcOrc
* fixes cpp
* enable windows
Co-authored-by: xflywind <43030857+xflywind@users.noreply.github.com >
2022-09-23 13:05:05 +02:00
metagn
86f7f4ffa5
remove deprecated type pragma syntax, fix bugs that required it ( #20199 )
...
* remove deprecated pragma syntax from 0.20.0
closes #4651 , closes #16653 with a cheap fix for now due to
how early `tfFinal` is set
* remove type pragma between name and generics
* undo removal, try removing bind expression (0.8.14)
* fix test, unremove bind expr
* remove again
* Update changelog.md
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
* dependencies @ HEAD & weave test dependencies
* try fix package ci
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
2022-09-03 09:52:13 +02:00
metagn
d1d141b135
new .redefine pragma for templates, warn on redefinition without it ( #20211 )
...
* test CI for template redefinitions
* adapt asyncmacro
* fix quote
* fix again
* try something else
* revert
* fix ioselectors_select, disable packages CI
* adapt more tests & simplify
* more
* more
* more
* rename to redefine, warn on implicit redefinition
* basic documentation [skip ci]
* Update compiler/lineinfos.nim
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
2022-08-23 21:41:30 +02:00
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