Commit Graph

6864 Commits

Author SHA1 Message Date
Timothee Cour
ad67bcf379 fix https://github.com/nim-lang/RFCs/issues/311 remove unary slice (#16714) 2021-04-19 19:02:52 -07:00
Andreas Rumpf
3b80f0dc8e IC navigator: added support for include files (#17784)
* ic fixed navigator crash when track wrong/missed

Also fixed an issue with getNimcacheDir not observing the outDir.

* closer, but not sure how to test[skip ci][ci skip]

* IC navigator: added support for include files

* update

* make posix happy via expandFilename

* update

Co-authored-by: Saem Ghani <saemghani+github@gmail.com>
2021-04-19 22:37:09 +02:00
Clyybber
438afb4db9 Introduce localErrorNode (#17785) 2021-04-19 17:19:21 +02:00
Andreas Rumpf
4b0b536419 ic refactoring (#17778)
* minor IC documentation update

* IC: refactoring: removed the 'shared' type and fields, these were a leftover from an earlier design
2021-04-19 11:48:06 +02:00
flywind
83fa0fc843 fix #12521(type alias for openArray) (#17593)
* fix nim js cmp fails at CT

* fix #12521

* address comments
2021-04-19 11:21:35 +02:00
Saem Ghani
5042cb956b [ci skip] document compiler/ic/rodfiles.nim (#17771)
* [ci skip] document compiler/ic/rodfiles.nim

Why?
* understand how rodfile module works and a bit of the format
* leave notes behind for others
* rather than Araq guess what others need, he can fix what other glean
* possible model for making the compiler more aproachable

Bonus:
* might have found a minor bug in `loadSection`

* Update compiler/ic/rodfiles.nim

Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
2021-04-19 07:40:08 +02:00
Timothee Cour
0a10af5a2c privateAccess now works with ref | ptr (#17760) 2021-04-19 00:15:58 +02:00
Timothee Cour
d6c8efa5d4 declaredlocs followup: handle cannot instantiate errors (#17745) 2021-04-19 00:03:24 +02:00
Andreas Rumpf
c7b77829fe IC: fixes a long standing bug about DCE set computations (#17763) 2021-04-18 23:38:07 +02:00
Tanguy Cizain
8e124da75d fix range to unsigned conversion (#17754) 2021-04-17 15:34:00 +02:00
Timothee Cour
5c9c1988f6 -d:nimDebug: calls doAssert false instead of quit (#17739) 2021-04-17 11:49:54 +02:00
Timothee Cour
7e94420847 cString => cSourceString; tyCString => tyCstring so that error msgs show cstring, not cString (#17744) 2021-04-17 11:14:09 +02:00
Andreas Rumpf
8e474fbb57 IC: yet another embarrassing omission (#17743)
* IC: yet another embarrassing omission

* VM: fewer hacks that kept IC from working
2021-04-17 01:12:12 +02:00
Timothee Cour
1b65b9cc19 refs #17292 fix repr: (discard) now does't render as discard which gave illegal code (#17455)
* refs #17292 fix `repr` with (discard)
* add tests
* add more tests
2021-04-16 14:55:51 +02:00
Andreas Rumpf
606288974f ic navigator tests (#17735)
* IC navigator: first basic test
2021-04-16 12:20:43 +02:00
Timothee Cour
8161b02897 import foo {.all.} reboot (#17706) 2021-04-16 09:16:39 +02:00
Tanguy Cizain
363467fc00 Fix array's high & low return type for empty arrays (#17705)
* fix array.high/low return type

* Add test for empty array low return type

Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>

Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
2021-04-15 15:45:38 +02:00
Andreas Rumpf
eff9d75379 IC: rodfiles: no floats (#17720) 2021-04-14 22:35:18 +02:00
Andreas Rumpf
67e28c07f9 IC: first steps towards 'nim check --def --ic:on' (#17714)
* IC: first steps towards 'nim check --def --ic:on'
* IC navigator: deduplicate output lines
* IC navigator: progress
* IC navigator: use a different nimcache entry
* IC navigator: special logic for templates/macros
* IC navigator: proper error messages
* IC navigator: prepare for testing code; document only what currently works somewhat
2021-04-14 16:44:37 +02:00
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
Andreas Rumpf
8e6b87a917 IC: code cleanup (#17708) 2021-04-13 10:43:16 +02:00
Andreas Rumpf
4f5709e326 IC: serialization bugfix (#17701) 2021-04-13 07:23:29 +02:00
Andreas Rumpf
4780b08b9d IC: integrity checking (#17695)
* IC: integrity checking: the plumbing code
* progress
* progress + bugfix (yes, the code already found a bug)
* implemented integrity checking
2021-04-11 17:37:32 +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
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
Emery Hemingway
8aa5991bea Genode platform fixes (#17521)
* Genode: move dyncall failures to runtime

Do not use the "error" pragma to warn that dynamic library loading is
not implemented, print a message at runtime and exit.

* Genode: use stricter dataspace type in page allocator

* Genode: remove compiler configuration from nim.cfg

Self-hosting Nim is not supported on Genode and defining the
cross-compilation environment can be done externally.

* Genode: use new mutex API

* Genode: call nim_component_construct as a C procedure

* Genode: implement echo for NimStringV2
2021-04-09 16:29:10 +02:00
Timothee Cour
877cc5e4ff make repr handle setters foo= (#17683) 2021-04-09 09:37:10 +02:00
Timothee Cour
cce1b24b1c ast: add getPIdent (#17684)
* ast: add getPIdent

* fixup
2021-04-09 08:00:13 +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
flywind
a7d6ba4526 minor typos (#17668) 2021-04-07 19:54:28 +02:00
rockcavera
d3702a4dc3 removing warning imported and not used debugutils (#17660) 2021-04-07 07:52:14 +02:00
Andreas Rumpf
444658fe58 fixes #17656 (#17657) 2021-04-07 07:46:45 +02:00
Timothee Cour
6ab5816866 add compiler/debugutils.nim to help debugging compiler (#17652)
* add compiler/debugutils.nim

* address comments
2021-04-06 22:01:34 +02:00
flywind
e406e28738 fix #16898 #17621 (#17628)
* fix #16898
* fix #17621

* Update compiler/semtypes.nim
2021-04-06 18:01:54 +02: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
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
flywind
f3c504e49a a bit better message (#17606) 2021-04-01 08:49:10 +02:00
Timothee Cour
a31e601550 misc fixes: build_all.sh, changelog (#17601)
* fix a bug in build_all.sh: $@ => "$@"

* remove getSocket from changelog following #17587

* remove unused import
2021-04-01 08:48:44 +02:00
Timothee Cour
a7bb973a24 docgen: render pragmas by default except for a select list (and fix #9074) (#17054) 2021-04-01 08:45:55 +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
Andreas Rumpf
ece7147734 better error messages for .raise effect analysis (#17595) 2021-03-31 13:26:44 +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
Andreas Rumpf
5ecbe67371 makes DrNim compile again (#17584) 2021-03-30 20:13:18 +02:00
Araq
f5b1e384a4 parser.nim: simply layout change 2021-03-30 10:29:50 +02:00