| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
* Allow std/macros.params to work with nnkProcTy
* Add tests for proc params & pragma
|
|
|
| |
close #15118
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* `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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
|
|
|
|
|
|
|
|
| |
* Add testcase
* Fix testcase
* Fix doubly typed forward decls
* Better fix
|
|
|
|
|
|
|
|
|
| |
* Fix #18203
* Add testcase
* Fix testcase
* Fix test
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
|
|
|
|
|
|
| |
* getType now works with tyInferred (concepts); refs #18220
* avoid cast
* add more docs
|
|
|
|
|
|
|
| |
* macros.treeRepr + friends: collapse SymChoice
* make repr+friends work with invalid symchoice nodes
* address comment
|
|
|
|
|
| |
* Fixes 5034
* address comments
|
|
|
| |
thanks @alaviss for the test
|
|
|
|
|
| |
* close #7875 add testcase
* fix
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
|
|
|
|
| |
* nnkArglist => nnkArgList
* special case stylecheck:error
|
|
|
|
|
|
| |
* Add docs & tests for named procs with sugar.=>
* Remove support for named procs in sugar.=>
* Resolve conflict
* Fix test
|
|
|
|
|
| |
* rename case statement macro from match to `case`
* fix test
|
|
|
|
|
|
|
| |
* fix broken => for typed procs with pragmas
* add more sugar tests
* add ending quote
|
|
|
|
|
|
|
| |
output spec (#16151)
* fix megatest newlines
* still allow missing trailing newline for now but in a more strict way than before
|
|
|
|
|
|
|
|
|
|
|
| |
* fix #16110
* refs #16110
* fix comment
* Trigger build
* use shallowCopy for efficiency
|
|
|
|
|
|
|
|
|
|
|
| |
* fix #14339: fixes limited VM support for addr
* strengthen test
* reference bug #16003
* also fixes #13511
* also fixes #14420
|
| |
|
|
|
|
| |
This reverts commit f8b9d8c1904c662f07e5ee1138357695a1df9ac3.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
| |
* allow result symbol reuse
* try different approach
* Revert "try different approach"
This reverts commit abcfb6b75983c2f798cc887342ff1a9ff10c0324.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
| |
|
|
|
|
|
|
|
|
| |
* Fix #5691
* Cleanup and thoughts
* Use scope approach
* Seperate defined/declared/declaredInScope magics
* Fix declaredInScope
* Update spec accordingly
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
nim transforms code (#14924)
* enable,document,test getImplTransformed, very useful for understanding how nim transforms code
|
| |
|
| |
|
|
|
|
|
| |
* Add testcase for #12129
* Fix test
|
| |
|
| |
|
|
|
|
|
|
|
| |
* render curly braces
* fix typo
* fix test
Co-authored-by: cooldome <ariabushenko@bk.ru>
|
|
|
|
|
|
|
|
|
|
| |
* => 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* add expectIdent to macros
* apply feedback
* Update lib/core/macros.nim
Co-Authored-By: Clyybber <darkmine956@gmail.com>
* Update texpectIdent2.nim
* Update texpectIdent1.nim
Co-authored-by: Clyybber <darkmine956@gmail.com>
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|