Araq
07d465ca42
[refactoring] remove unused imports in the compiler and in some stdlib modules
2019-07-18 00:36:03 +02:00
Araq
4137a4dbf3
[feature] detect unused imports
2019-07-17 22:36:23 +02:00
Araq
9db369063c
[refactoring] moves transformation for 'spawn' into its own spawn.nim implementation
2019-07-14 12:13:19 +02:00
Arne Döring
7d5d9f7703
introduce internal Int128 type, use it to fix case stmt checks ( #11652 )
...
* initial version of int128
* use int128 in case stmt
* fixes #11552
2019-07-05 22:45:32 +02:00
Arne Döring
5b27b263fd
Remove immediate pragma ( #11308 )
...
* remove immediate from tests
* remove immediate from the compiler
2019-05-29 22:21:51 +02:00
Araq
9ecb1aae80
new compiler feature: --expandMacro
2019-05-29 20:47:28 +02:00
Arne Döring
f94ec363ab
Allow void macro result ( #11286 )
...
* allow void macro result
* add test for void macro result type
2019-05-21 21:31:40 +02:00
Arne Döring
b92fd30282
rename tyExpr/tyStmt to tyUntyped/tyTyped ( #11227 )
2019-05-11 10:11:08 +02:00
Clyybber
f18b3af9d4
Replace countup(x, y-1) with x ..< y
2019-05-07 12:32:05 +02:00
Andreas Rumpf
bf592c4e94
more destructor based changes ( #10885 )
...
* mark user defined destructors with sfOverriden to simplify the logic
* refactoring in preparation to merge liftings and generic instantiations for destructors
* ast: introduce nkHiddenTryStmt for destructor generation in order to be able to optimize better the code later on
* renamed 'patterns' switch to 'trmacros' as it was totally misleading before
* destructors: introduce tfCheckedForDestructor flag in preparation of strict =destroy checking
* test for invalid/too late destructor introductions
* liftdestructors: make code robust for nimsuggest
* --newruntime works for hello world again
* newruntime: code generation for closures
2019-03-23 00:12:05 +01:00
alaviss
d72921ecf6
compiler/sem: correct macros lineinfo ( #10438 )
...
The compiler believes these are where a macro call starts (marked with
`^`):
m "string"
^ ^
This commit addresses that.
2019-01-24 12:22:19 +01:00
Neelesh Chandola
e77dd683eb
Fix defer not not-working at top level ( #10191 )
2019-01-07 00:51:17 +01:00
Araq
e874705971
fixes nested gensym'ed parameters; fixes #9476
2018-12-08 13:30:06 +01:00
cooldome
5b98afb8a8
Destructors: more moves for tuples ( #9808 )
2018-11-27 18:59:21 +01:00
Andreas Rumpf
6e8ed8c6fa
added first version of a nimfind tool for the poor souls that don't have a good nimsuggest integretation
2018-11-14 16:04:54 +01:00
Andreas Rumpf
cb4d810659
make Nim take roughly 100MB less RAM for bootstrapping via a new compiler switch -d:leanCompiler; useful for the Raberry PI
2018-11-07 18:36:52 +01:00
cooldome
eaca5be9d6
Change the order of compilation passes, transformation is made lazy at code gen ( #8489 )
...
* Ast no transformation
* Add getImplNoTransform to the macros module
* progress on delaying transf
* Fix methods tranformation
* Fix lazy lambdalifting
* fix create thread wrapper
* transform for lambda lifting
* improve getImplTransformed
* Fix destructor tests
* try to fix nimprof for linux
2018-10-18 20:21:25 +02:00
xzfc
8fc7cecfa2
compiler: show name of instantiating context in error traces ( #6763 ) ( #9207 )
2018-10-11 09:34:56 +02:00
LemonBoy
b97a7dbf3d
Make the registered passes local to the ModuleGraph ( #9259 )
...
Closes #9068
2018-10-09 19:24:02 +02:00
Andreas Rumpf
9364369c1f
make tests green again
2018-09-24 16:00:57 +02:00
Andreas Rumpf
84d122b5c8
extended system.type/typeof to support an upcoming 'collect' macro that works much better than sugar.lc
2018-09-11 19:02:05 +02:00
Andreas Rumpf
1948eadc24
change runnableExamples implementation; fixes #8641 ; fixes #7135 ; runnableExamples works for templates and generics
2018-09-02 22:56:26 +02:00
Andreas Rumpf
dae5450947
WIP: disallow 'nil' for strings and seqs
2018-08-13 11:41:33 +02:00
Araq
d8e66d6acc
fixes merge conflict
2018-08-07 22:25:01 +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
Andreas Rumpf
e555e97b4b
use slashes instead of dots for paths
2018-08-06 20:00:26 +02:00
Timothee Cour
06571f5495
fixes #8323 : avoid polluting git status after nim doc foo ( #8415 )
2018-07-30 10:36:23 +02:00
skilchen
6de52d2b74
make runnableExamples use a private nimcache so that they can be tested in parallel ( #8281 )
...
* make runnableExamples use a private nimcache so that they can be tested in parallel
2018-07-12 11:06:20 +02:00
LemonBoy
0a14b3d198
Check the RHS when building a set ( #8159 )
...
Fixes #2669
2018-06-30 09:16:14 +02:00
LemonBoy
52fc16d5d2
Return an error symbol as macro output if needed ( #8116 )
...
Return an error symbol if the macro output has no type and a typedesc
is expected.
Fixes #7454
2018-06-27 21:43:07 +02:00
Zahary Karadjov
31651ecd61
allow referencing other parameters in default parameter values
...
fix #7756
fix #1201
fix #7000
fix #3002
fix #1046
2018-06-16 16:46:32 +03:00
Zahary Karadjov
5bcf8bcb59
fixes #7222 ; fixes #5595 ; fixes #3747
...
* late instantiation for the generic procs' default param values
* automatic mixin behaviour in concepts
Other fixes:
* don't render the automatically inserted default params in calls
* better rendering of tyFromExpr
2018-06-16 16:46:32 +03:00
Zahary Karadjov
fb27357b62
A minimal patch enabling the new typedesc and static types syntax
2018-06-16 16:46:32 +03:00
Andreas Rumpf
5348fef003
implements a --nep1:on switch to make the compiler enforce the naming conventions outlined in NEP-1
2018-06-13 01:44:19 +02:00
Araq
8e9551b1c7
fixex merge conflicts
2018-06-08 19:50:36 +02:00
andri lim
069a53ad4b
fixes #7906 , array and openarray arg vs. ptr/ref generic ( #7909 )
...
* fixes #7906 , array and openarray arg vs. ptr/ref generic
* add comment
2018-06-04 17:43:15 +02:00
Andreas Rumpf
12996c08a1
fixed merge conflict
2018-06-04 16:16:50 +02:00
Andreas Rumpf
826c1e2d78
incremental compilation: implemented basic replay logic
2018-06-02 09:41:27 +02:00
Andreas Rumpf
61fb83ecbb
baby steps for incremental compilation
2018-05-30 23:50:34 +02:00
Andreas Rumpf
31d9df9e75
runnableExamples: use the self exe to test the examples
2018-05-30 11:34:03 +02:00
Andreas Rumpf
ddc6cec69e
refactoring: move DB model to incremental.nim
2018-05-30 10:15:41 +02:00
andri lim
25a41d5d90
fixes #7818 , correct internal representation of generic objects array construction ( #7824 )
...
* defer skiptypes
* defer skiptypes for tyRef & tyPtr
* remove unneeded skipTypes
2018-05-29 09:38:52 +02:00
Andreas Rumpf
40ec7be45c
refactoring: remove idents.legacy global variable and pass the IdentCache around explicitly
2018-05-27 22:09:15 +02:00
Andreas Rumpf
18a3833d60
more refactoring
2018-05-27 15:22:17 +02:00
Andreas Rumpf
9849808720
Merge branch 'devel' into araq-big-refactoring
2018-05-27 13:38:09 +02:00
Andreas Rumpf
669a564492
remove more global variables in the Nim compiler
2018-05-27 11:10:56 +02:00
Zahary Karadjov
1c478db375
fix #7883 ; fix #7829
2018-05-26 20:46:22 +03:00
Andreas Rumpf
bf6c2c5ccf
preparations of making compiler/msgs.nim free of global variables
2018-05-17 15:21:22 +02:00
Araq
2a7fc84c86
remove ast.emptyNode global; cleanup configuration.nim
2018-05-16 03:06:07 +02:00
Andreas Rumpf
328e7a1005
options.nim: no global variables anymore
2018-05-13 17:52:21 +02:00