Timothee Cour
840e13deb7
type with same name in different scope now works ( #17710 )
...
* type with same name in different scope now works
* fix tests/enum/tenum.nim which was wrong because it was affected by this bug
2021-04-14 08:50:15 +02:00
Timothee Cour
fe77c3c72f
megatest: allow duplicate file names, show compilation progress ( #17713 )
...
* megatest: allow duplicate file names
* megatest: show compilation progress
2021-04-13 23:16:19 +02:00
Timothee Cour
e92c78a9ac
add number literal jsbigints.big ( #17707 )
2021-04-13 09:33:28 +02:00
shirleyquirk
0bc943ad54
followup strformat PR. backslash escapes, tests, docs ( #17700 )
...
* Allow use of colons inside fmt
allowing colons inside fmt by replacing the format specifier delimiter lets arbitrary nim code be run within fmt expressions.
Co-authored-by: flywind <xzsflywind@gmail.com >
* formatting,documentation,backslash escapes
Adding support for evaluating expressions by special-casing parentheses causes this regression: `&"""{ "(hello)" }"""` no longer parses.
In addition, code such as &"""{(if open: '(' else: ')')}""" wouldn't work.
To enable that, as well as the use of, e.g. Table constructors inside curlies, I've added backslash escapes.
This also means that if/for/etc statements, unparenthesized, will work, if the colons are escaped, but i've left that under-documented.
It's not exactly elegant having two types of escape, but I believe it's the least bad option.
* changelog
* added json strformat test
* pulled my thumb out and wrote a parser
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
Co-authored-by: flywind <xzsflywind@gmail.com >
2021-04-12 07:32:37 +02:00
Andreas Rumpf
cae1839154
IC: added tcompiletime_counter test case ( #17698 )
2021-04-11 21:41:24 +02:00
Timothee Cour
ceadf54d76
iterable[T] ( #17196 )
...
* fix failing test toSeq in manual which now works
* changelog
* reject proc fn(a: iterable)
* add iterable to spec
* remove MCS/UFCS limitation that now works
2021-04-11 14:25:41 +02:00
Andrey Makarov
2150cd1826
restyle RST option lists ( #17637 )
...
* WIP: restyle RST option lists
* apply similar style to Latex
* fix tests
* minor visual tweaks
* update tests
* remove leftover comments
2021-04-10 09:49:01 +02:00
Timothee Cour
08262206d3
refs #15667 improve invalid indentation errors, report when & where = could be missing ( #16397 )
...
* refs #15667 improve invalid indentation errors
* also show line info where = is missing
* add test
* add more tests
2021-04-10 08:55:39 +02:00
Andreas Rumpf
1822ed384a
IC: added converter test case ( #17688 )
...
* IC: added converter test case
* IC: make converter example work
2021-04-09 16:41:49 +02:00
flywind
f25243140b
add std/tasks ( #17447 )
2021-04-09 11:51:51 +02:00
Timothee Cour
877cc5e4ff
make repr handle setters foo= ( #17683 )
2021-04-09 09:37:10 +02:00
Andreas Rumpf
13b958eb45
IC: added basic test case for methods ( #17679 )
...
* IC: added basic test case for methods
* IC: better methods test
2021-04-09 06:59:25 +02:00
Andrey Makarov
42687457b0
further progress on rst roles & directives ( fix #17646 ) ( #17659 )
...
* further progress on rst roles & dir-s (fix #17646 )
* fix documents according to the messages
* fix bug 17 from #17340
2021-04-08 19:00:14 +02:00
flywind
834d5641e8
use sink and lent in deques ( #17661 )
...
* use sink and lent in deques
* Update lib/pure/collections/deques.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2021-04-07 14:17:48 +02:00
Andreas Rumpf
939df8cbda
ensure the avr example keeps compiling ( #17663 )
...
* ensure the avr example keeps compiling
* Update tests/avr/thello.nim
* now compiles properly
2021-04-07 13:40:57 +02:00
flywind
e406e28738
fix #16898 #17621 ( #17628 )
...
* fix #16898
* fix #17621
* Update compiler/semtypes.nim
2021-04-06 18:01:54 +02:00
flywind
c7b4639460
ref #14873 ( #17644 )
...
* ref #14873
* comment
* Update lib/core/locks.nim
2021-04-06 16:21:58 +02:00
flywind
7bfb9f0002
close #17636 ( #17643 )
2021-04-06 16:20:01 +02:00
Saem Ghani
5261579175
[nim-gdb] Fixed enums and flag output [ci skip] ( #17634 )
...
Debugger works for enums again. Additionally, flags work better than before.
Reworked object printer as well, but the approach needs much more work or has
to be replaced all together. This is mostly to save the work and myself or
someone else can revisit it.
2021-04-05 11:37:28 +02:00
Andrey Makarov
ca405167ed
fix :number-lines: regression ( #17639 )
2021-04-05 08:33:06 +02:00
flywind
70a30317f7
fix #16693 : testament spec nimout too lax ( #16698 )
...
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
2021-04-04 13:47:28 -07:00
Andrey Makarov
f02e159b56
fix rst option list at EOF (follow-up #17442 ) ( #17638 )
2021-04-04 11:54:26 -07:00
Timothee Cour
4a11a04fba
fix #14850 : repr now correctly renders do ( #17623 )
...
* fix #14850 : `repr` now correctly renders `do`
* add tests
* fix test
2021-04-03 16:05:37 +02:00
Timothee Cour
fe7a76f62f
repr: fix rendering of 'big, =destroy etc ( #17624 )
2021-04-03 08:19:17 +02:00
flywind
61c1e35181
close #14806 ( #17626 )
...
* close #14806
* tiny
2021-04-03 08:17:55 +02:00
Timothee Cour
270964c487
implement RFCs/294 ; disallow enum <=> enum conversion ( #16351 )
...
* fix https://github.com/nim-lang/RFCs/issues/294 ; disallow enum <=> enum conversion
* fix the runnableExamples that was the instigator of this RFC
* legacy -d:nimLegacyConvEnumEnum
* use -d:nimLegacyConvEnumEnum in important_package nimgame2
* add test for enum cast
* improve changelog
* add changelog: Changes affecting backward compatibility
* cleanup changelog
* fix changelog
2021-04-03 07:15:21 +02:00
flywind
a807233aeb
fix #17615(runnableExamples silently ignored if placed after some code) ( #17619 )
...
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
2021-04-02 18:26:30 -07:00
Andrey Makarov
e35946f306
enable syntax highlighting for inline code ( #17585 )
...
* enable syntax highlighting for inline code
* finish '.. default-role' and preliminary '.. role'
implementation
* more compact check in dirRole
* set :literal: as default role for *.rst
* Update lib/packages/docutils/rst.nim
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
* use whichRole for setting currRoleKind
* Update lib/packages/docutils/rst.nim
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
* rename rnGeneralRole -> rnUnknownRole
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
2021-04-02 22:11:44 +02:00
Timothee Cour
9abd383a2a
new genAst as replacement for quote do ( #17426 )
...
* new `macros.genAst`: fixes all issues with `quote do`
* add changelog entry
* add workaround for https://github.com/nim-lang/Nim/issues/2465#issuecomment-511076669
* add test for #9607
* add kNoExposeLocalInjects option
* add test case for nested application of genAst
* genAst: automatically call newLit when needed
* allow skipping `{}`: genAst: foo
* add test that shows this fixes #11986
* add examples showing mixin; add examples showing passing types, macros, templates
* move to std/genasts
* improve docs
2021-04-02 13:11:03 +02:00
flywind
774e66f3d1
close #7875 add testcase ( #17611 )
...
* close #7875 add testcase
* fix
2021-04-02 11:56:30 +02:00
konsumlamm
f0587e02e2
Fix #17017 (math edge cases) ( #17588 )
...
* Fix #17017
Add more test cases
* USe signbit in example
2021-04-01 12:47:56 +02:00
flywind
e25a487ed6
close #6133 add testcase ( #17605 )
...
* close #6133 add testcase
* b
2021-04-01 12:46:47 +02:00
flywind
6f53579a8c
close #9534 add testcase ( #17607 )
2021-04-01 08:47:59 +02:00
flywind
924ab3adea
fix #17190 nimscript now accepts arbitrary file extensions for nim e main.customext ( #17596 )
...
* fix #17190
* cah
* merge
* Update tnimscriptwithnimext.nim
* Update tnimscriptwithmacro.nims
* Apply suggestions from code review
* Delete tnimscriptwithnimext.nim
* Update tests/tools/tnimscriptwithmacro.nims
* fix
* fix
* add a test
* Apply suggestions from code review
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
* Apply suggestions from code review
* Update changelog.md
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2021-04-01 08:05:04 +02:00
flywind
fe9a37f2a5
close #12684 add testcase ( #17599 )
2021-03-31 20:55:27 +02:00
flywind
3f9c26539d
close #16786 ( #17598 )
2021-03-31 20:54:36 +02:00
Timothee Cour
9b67e5c61b
jsonutils: support cstring (including as Table key); improve docs ( #16062 )
...
* jsonutils: support cstring (including as Table key); improve docs
* changelog
* un-disable a test now that #16061 was fixed
2021-03-31 18:24:39 +02:00
Timothee Cour
b18307f940
fix #17572 ( #17586 )
2021-03-31 11:27:02 +02:00
Timothee Cour
6d7d1e60fe
fix #14585 , fix #17589 : access to static param now works ( #17590 )
2021-03-31 11:25:26 +02:00
Timothee Cour
8ee0eda841
fix #12282 distinct now does not create erroneous copy in VM ( #17594 )
2021-03-31 10:15:08 +02:00
flywind
7c09e0c757
fix #15617(fix compilation failure on -d:useMalloc --gc:none) ( #17555 )
...
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
2021-03-30 20:15:14 +02:00
Timothee Cour
72988509ba
add getPort to resolve Port(0) ( #17559 )
...
* add getPort to resolve Port(0)
* fixup
* use getPort in examples + tests
* address comments: do not re-export Port
2021-03-30 20:14:39 +02:00
Ardek Romak
9e88425d7c
Fix void async in templates ( #17562 )
...
* Fix https://github.com/nim-lang/Nim/issues/16159
* Add test for async in template
* Shorten the expression
* Even shorter
Co-authored-by: Clyybber <darkmine956@gmail.com >
2021-03-30 08:07:45 +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
flywind
1f1ef85eb0
[std/uri]fix #17481 ( #17568 )
2021-03-29 11:48:06 -07:00
Andrey Makarov
861c42c258
RST: enable parsing of prefix roles (ref #17340 ) ( #17514 )
2021-03-29 18:32:49 +02:00
flywind
3f9c51a332
[nim check]fix #17460 ( #17569 )
2021-03-29 09:28:55 -07:00
flywind
7ad49950bd
[os:standalone]fix #14011 ( #17564 )
2021-03-29 17:54:28 +02:00
Andreas Rumpf
cfff27529e
added nkError to the AST ( #17567 )
...
* added nkError to the AST
* Update lib/core/macros.nim
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
* Update compiler/ast.nim
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
2021-03-29 16:23:19 +02:00
flywind
81e54c1d30
Add hasClosure to std/typetraits ( #17501 )
...
* fix nim js cmp fails at CT
* Add `hasClosure` to `std/effecttraits`
* type
* Update changelog.md
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
* Update lib/std/effecttraits.nim
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2021-03-29 14:22:29 +02:00