Andreas Rumpf
ef4b755183
allows a destructor to be attached to a tyString/tySequence
2018-07-27 18:20:13 +02:00
Andreas Rumpf
32afdc09c6
WIP: strings/seqs based on destructors
2018-07-17 13:19:42 +02:00
Andreas Rumpf
db35ac435b
code cleanup: remove newScopeForIf switch
2018-07-04 20:04:08 +02:00
LemonBoy
dbbe311e18
Minor changes to discardable handling ( #8155 )
2018-07-01 15:27:14 +02:00
cooldome
34170db963
Merge branch 'devel' into Fixes-7845
2018-06-26 23:33:34 +01:00
Andreas Rumpf
ccb1514837
Merge pull request #8108 from LemonBoy/fix-5958
...
Make `static` blocks introduce their own scope
2018-06-26 23:16:40 +02:00
Andreas Rumpf
7d437a3a74
Merge pull request #7964 from LemonBoy/fix-7936
...
Fixes #7936
2018-06-25 15:06:07 +02:00
LemonBoy
9543689306
Make static blocks introduce their own scope
...
Treat the static block as a normal block, don't leak any identifier in
the outer scope.
Fixes #5958
2018-06-24 18:27:40 +02:00
LemonBoy
7f0d7871ed
Use the resolved typedesc in semVarOrLet
...
By leaving the unsemanticized node in the AST we'd trip some passes like
the Transf one as seen in #7936 .
2018-06-23 13:40:11 +02:00
Yuriy Glukhov
951157a4e9
Fixed proto options
2018-06-15 12:54:59 +03:00
Yuriy Glukhov
466af35d4d
Fixed stacktrace/linetrace proc pragmas when appended by macro pragma
2018-06-14 15:48:51 +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
Yuriy Glukhov
7e7b85afc7
Allow stacktrace and linetrace pragmas on procs
2018-06-12 12:31:14 +03:00
Andreas Rumpf
26133a33a4
make tests green properly
2018-06-11 07:18:34 +02:00
Andreas Rumpf
61d9292095
fixes merge conflict
2018-06-11 01:25:48 +02:00
Andreas Rumpf
61e1897922
make tests green again
2018-06-11 01:23:14 +02:00
cooldome
7302a8ce7a
Fixes 7845
2018-06-10 22:49:09 +01:00
LemonBoy
03653ab61e
Fix type inference with static literals.
...
Fixes #3977
2018-06-10 14:25:40 +03:00
Andreas Rumpf
9ab92824f6
AST change: keep nkStaticStmt in the AST for incremental compilation support
2018-06-03 20:16:29 +02:00
Andreas Rumpf
826c1e2d78
incremental compilation: implemented basic replay logic
2018-06-02 09:41:27 +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
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
Andreas Rumpf
feef109e60
make tests green again
2018-05-18 20:53:41 +02:00
Andreas Rumpf
f86ca02960
make semantic checking free of globals
2018-05-18 15:59:44 +02:00
Andreas Rumpf
a4e2b0c153
platform.nim doesn't use globals anymore; prepare msgs.nim for not using globals
2018-05-18 15:18:00 +02: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
Araq
02b78d3f94
make tests green again
2018-05-14 21:38:18 +02:00
Araq
5526252fa0
fixes testament compilation
2018-05-14 17:45:44 +02:00
Andreas Rumpf
328e7a1005
options.nim: no global variables anymore
2018-05-13 17:52:21 +02:00
Andreas Rumpf
e4c088721a
make nimsuggest compile again
2018-05-13 09:53:00 +02:00
Andreas Rumpf
050789a8f4
sem pass compiles again
2018-05-12 21:30:42 +02:00
Andreas Rumpf
dd35111ff2
semstmts compiles again
2018-05-12 19:45:19 +02:00
Andreas Rumpf
ce859d8c16
more modules compile again
2018-05-12 16:35:59 +02:00
Zahary Karadjov
2b8bf8fc4a
A motivating example for the new bindSym behavior.
...
The example is a proof-of-concept logging library, allowing you to define
lexically-scoped environments where certain logging attributes are applied
automatically to all logging statements.
fixes tmacro1 (use of `bindSym` inside static blocks)
2018-05-07 09:37:49 +02:00
Andreas Rumpf
b7116a28ee
compiler refactoring, pass config around explicitly
2018-05-05 18:47:29 +02:00
Andreas Rumpf
1aa359febb
warn about inconsistent spacing around binary operators; fixes #7582
2018-05-05 14:58:33 +02:00
Andreas Rumpf
5ac94d26b3
remove the deprecated 'nil' statement
2018-05-02 13:34:54 +02:00
Andreas Rumpf
ee7515e376
fixes #7663
2018-04-28 09:26:15 +02:00
Andreas Rumpf
f697596faf
semcheck: code cleanups
2018-04-28 07:49:36 +02:00
Andreas Rumpf
f755808350
remove standalone 'except' and 'finally' statements that have been deprecated for years
2018-04-28 00:00:28 +02:00
Andreas Rumpf
c71c951a64
enforce dot and call operators are used with an explicit .experimental pragma
2018-04-27 09:57:20 +02:00
Andreas Rumpf
ee366f1746
.experimental can now be used to enable specific features
2018-04-24 09:34:29 +02:00
Andreas Rumpf
33b69f0ed0
refactoring: make FileIndex a distinct type; make line information an uint16; fixes #7654
2018-04-21 08:13:37 +02:00
Andreas Rumpf
cb03ae2c9f
semstmts: fewer empty lines
2018-04-19 08:54:23 +02:00
Andreas Rumpf
c08efb4c51
implements first version of for-loop macros
2018-04-15 01:07:28 +02:00
RSDuck
3d1d163eff
fixes #7451 ( #7575 )
2018-04-14 08:33:36 +02:00
Andreas Rumpf
47335aab41
introduce nkTupleConstr AST node for unary tuple construction; breaking change
2018-04-13 17:45:58 +02:00
Andreas Rumpf
ea8afebf8c
'func' is now an alias for 'proc .noSideEffect'
2018-04-12 20:09:44 +02:00