Clyybber
83547ec769
Make unreachable else in case statements a warning instead of an error ( #14190 )
...
* Fix #14019 by making trailing else a warning
* Rename to UnreachableElse
2020-05-02 16:09:02 +02:00
Andreas Rumpf
1b6c4ed2ba
fixes #14052 [backport:1.2] ( #14055 )
2020-04-21 23:19:34 +02:00
Zahary Karadjov
be95f8fdfa
Turn some of the errors back into warnings
2020-04-01 19:38:44 +02:00
Zahary Karadjov
1b570f2b18
Turn the warning for uninitialized (result) variables into errors
2020-04-01 19:38:44 +02:00
Andreas Rumpf
35fb38629f
cycle breaker ( #13593 )
...
* cycle breaking as an alternative to cycle detection
2020-03-19 22:58:16 +01:00
Timothee Cour
1f2042411a
fix #13412 nim now recompiles for stdin input; SuccessX now configurable; can show whether it recompiled ( #13506 )
...
* fix #13412 nim now recompiles for stdin input; SuccessX now indicates whether it recompiled
2020-03-19 10:39:18 +01:00
Andreas Rumpf
3f29911a94
new feature: --staticBoundChecks:on to enforce static array index checking ( #10965 )
2020-03-18 14:25:10 +01:00
Andreas Rumpf
a6682de004
catchable defects ( #13626 )
...
* allow defects to be caught even for --exceptions:goto (WIP)
* implemented the new --panics:on|off switch; refs https://github.com/nim-lang/RFCs/issues/180
* new implementation for integer overflow checking
* produce a warning if a user-defined exception type inherits from Exception directly
* applied Timothee's suggestions; improved the documentation and replace the term 'checked runtime check' by 'panic'
* fixes #13627
* don't inherit from Exception directly
2020-03-12 23:44:33 +01:00
Timothee Cour
e64f1c7ee4
koch --nim:pathto/nim boot and koch boot --hint:cc:off now work (#13516 )
...
* `koch boot --hint:cc:off` now works
* `koch --nim:pathto/nim boot` now works; code cleanup
2020-03-11 00:31:34 +01:00
Jasper Jenkins
796aafe7e0
make case-object transitions explicit, make unknownLineInfo a const, replace a few magic numbers with consts ( #13170 )
2020-01-17 10:34:31 +01:00
Timothee Cour
d88b52c0bc
successX now correctly shows html output for nim doc, nim jsondoc; fix #13121 ( #13116 )
...
* successX now correctly shows html output for nim doc
* fixes #13121
* fixup hintSuccessX to be less weird
2020-01-15 15:18:37 +01:00
Timothee Cour
15043d35b8
make SuccessX show project file + output file ( #13043 )
...
* make SuccessX show project file + output file
* address comments
* fix test and add `result.err = reNimcCrash` otherwise hard to see where reNimcCrash used
* address comments
2020-01-08 00:39:07 +01:00
Timothee Cour
e5ae7ceaa3
[easy] --hint 🔗 on now shows link cmd instead of nothing ( #13056 )
...
* --hint🔗 on now shows link cmd instead of nothing
* update doc for --listCmd
2020-01-07 10:38:59 +01:00
Araq
2dea920379
ARC: implemented a simple cycle detector
2019-11-28 23:00:34 +01:00
Benny Elgazar
ee36931f26
Fix to the relevant path of the docs. ( #12162 )
2019-09-10 17:50:03 +02:00
Araq
dc38b88f7e
bugfix: it should be [UnusedImport] [nobackport]
2019-07-19 19:33:56 +02:00
Andreas Rumpf
9852cf804b
warn about unused imports; fixes an 'export' regression [nobackport]
2019-07-18 18:16:25 +02:00
Araq
4137a4dbf3
[feature] detect unused imports
2019-07-17 22:36:23 +02:00
Andreas Rumpf
3d88d06b32
better run [feature] ( #11709 )
...
* track the checksums of all involved Nim files for smarter 'nim c -r' recompiles
* don't recompile unless necessary for 'nim c -r' [feature]
* [feature] koch boot uses a two step process in order to free the RAM before the GCC/Clang invocations
* fixes a serious regression
2019-07-11 21:36:23 +02:00
Araq
c94647aeca
styleCheck: make the compiler and large parts of the stdlib compatible with --styleCheck:error
2019-07-10 12:42:41 +02:00
Araq
bd689849f2
nim styleChecker: implemented all the missing features (bugfix)
2019-07-10 00:29:58 +02:00
genotrance
1255b3c864
Warn about object case transitions at compile time ( #11378 )
2019-06-02 06:40:07 +02:00
Araq
9ecb1aae80
new compiler feature: --expandMacro
2019-05-29 20:47:28 +02:00
Miran
43832f8e57
remove shadow warning, fixes #10732 ( #11039 )
2019-04-17 11:54:51 +02:00
Andreas Rumpf
0841c64a32
Merge branch 'devel' into araq-quirky-exceptions
2019-02-08 17:18:17 +01:00
Timothee Cour
0a8762eb7b
fix #9842 #9951 : nim -r and parseopt.cmdLineRest are now correct
2019-01-14 17:00:54 -08:00
Andreas Rumpf
cb9110c43d
--define:nimQuirky exception handling for Nim; in preparation of a blog post
2019-01-03 18:56:05 +01:00
Neelesh Chandola
9faad7591e
Deprecate gc v2 ( #10151 )
...
* Deprecate gc v2
* warnDeprecated now has custom messages
2019-01-01 13:50:48 +01:00
cooldome
8c1083d3b7
Of operator in vm fixes [backport] ( #9717 )
...
* fixes #9701
* fixes #9702
* optimize of statement to bool
2018-11-15 13:03:42 +01:00
xzfc
8fc7cecfa2
compiler: show name of instantiating context in error traces ( #6763 ) ( #9207 )
2018-10-11 09:34:56 +02:00
Andreas Rumpf
86556ebfdb
compiler refactoring; use typesafe path handing; docgen: render symbols between modules
2018-09-07 19:21:16 +02:00
Araq
b3c3a46317
fixes #5745
2018-09-03 10:50:39 +02:00
Andreas Rumpf
dae5450947
WIP: disallow 'nil' for strings and seqs
2018-08-13 11:41:33 +02:00
Timothee Cour
c352329714
runnableExamples: keep (gitignored) generated foo_examples.nim for inspection even on success ( #8544 )
2018-08-07 18:52:55 +02:00
Timothee Cour
9e37e3e5e8
add hintCC to optionally disable printing 'CC: filename' ( #8479 )
2018-08-01 09:22:51 +02:00
Timothee Cour
d07489abf4
fix #7405 and #8195 ( #8198 )
...
* fix #7405 and #8195
* control pushInfoContext in semExprNoType,genStmts via a new hintExtendedContext; make NotesVerbosity computation more DRY
* addressed comments
2018-07-16 13:34:44 +02:00
Andreas Rumpf
cae1973856
document how the incremental compilation scheme could work
2018-06-01 22:11:32 +02:00
Andreas Rumpf
c640bd2d1b
cleanup compiler/prettybase to not use redudant global variables
2018-05-27 22:52:10 +02:00
Andreas Rumpf
dd8a6ef3a2
implements --hint[globalvar]:on switch for quickly finding global variables
2018-05-27 14:00:44 +02:00
Andreas Rumpf
669a564492
remove more global variables in the Nim compiler
2018-05-27 11:10:56 +02:00