xzfc
8fc7cecfa2
compiler: show name of instantiating context in error traces ( #6763 ) ( #9207 )
2018-10-11 09:34:56 +02:00
LemonBoy
0ead36dae6
Unchecked arrays now have their own type ( #9267 )
2018-10-10 21:03:18 +02:00
Steve Kellock
173e8c4913
fixes unexpected transforming of runnableExamples ( #9158 )
2018-10-09 20:14:54 +02:00
LemonBoy
a3fb0a769c
Try/Catch support for native JS exceptions ( #8955 )
...
* Try/Catch support for native JS exceptions
* Better tests
2018-10-09 19:51:29 +02:00
cooldome
e63c66b810
Add sym owner to macros ( #8253 )
2018-09-03 13:25:59 +02:00
Araq
b3c3a46317
fixes #5745
2018-09-03 10:50:39 +02:00
Araq
30597e643f
fixes merge conflict
2018-08-23 11:30:55 +02:00
Araq
64517445ea
even more strict isNil handling for strings/seqs in order to detect bugs
2018-08-22 12:35:46 +02:00
zah
96de224a63
Fix #8126 ( #8712 )
...
This is a temporary fix that will be reworked in a follow up commit
that aims to eliminate the tfExplicit flag from the compiler. The
complete and proper fix was considered too risky for inclusion just
before our 0.19 release.
2018-08-21 22:14:12 +02:00
Andreas Rumpf
696c0c48c7
fixes merge conflict
2018-08-19 15:14:03 +02:00
Andreas Rumpf
e4c759fbff
Merge branch 'devel' into araq-misc
2018-08-16 01:22:21 +02:00
LemonBoy
c04404635b
Fix unsound transform pass ( #8633 )
...
When a `var openArray[T]` function parameter goes trough the
`transformAddrDeref` pass we may lose the `var` specifier, leading to
nasty crashes at runtime.
2018-08-14 20:38:04 +02:00
Araq
420ed0596b
fixes more nil handling regressions
2018-08-13 17:27:44 +02:00
Andreas Rumpf
dae5450947
WIP: disallow 'nil' for strings and seqs
2018-08-13 11:41:33 +02:00
andri lim
4d5cce9882
fixes #6255 , add system.ashr arithmetic right shift ( #8547 )
2018-08-07 18:41:30 +02:00
Andreas Rumpf
ef4b755183
allows a destructor to be attached to a tyString/tySequence
2018-07-27 18:20:13 +02:00
Andreas Rumpf
4d85616e0b
ast.nim: remove space for unary operator
2018-07-22 16:44:33 +02:00
Andreas Rumpf
4389409e26
fix merge conflict
2018-07-18 09:46:30 +02:00
Andreas Rumpf
32afdc09c6
WIP: strings/seqs based on destructors
2018-07-17 13:19:42 +02:00
cooldome
dec97924a4
Custom pragmas in proc types ( #8205 )
2018-07-09 12:11:03 +02:00
cooldome
541c2a3fec
one more attempt
2018-06-28 09:21:09 +01:00
cooldome
c20d1ac1c0
Fix failing test
2018-06-26 23:50:06 +01:00
cooldome
34170db963
Merge branch 'devel' into Fixes-7845
2018-06-26 23:33:34 +01: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
cooldome
0b709fb916
FIx test tembarrassing_generic_failure
2018-06-12 21:41:35 +01:00
cooldome
a274d77b55
Fixes
2018-06-12 00:28:09 +01:00
cooldome
7302a8ce7a
Fixes 7845
2018-06-10 22:49:09 +01:00
Andreas Rumpf
b5194f592c
WIP: an API for VM replay global state support
2018-06-03 20:18:43 +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
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
669a564492
remove more global variables in the Nim compiler
2018-05-27 11:10:56 +02:00
Araq
2a7fc84c86
remove ast.emptyNode global; cleanup configuration.nim
2018-05-16 03:06:07 +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
61e57cfa13
big refactoring: parser compiles again
2018-05-10 10:49:51 +02:00
Zahary Karadjov
4ab1cfb0b0
fix a compiler crash related to the new strings in C++ mode
2018-05-07 09:37:49 +02:00
Zahary Karadjov
bdcb729597
Better support for treating templates and macros as symbols.
...
This allows you to pass a template or a macro to another macro
which can then inspect the implementation of the former template/macro
using `getImpl`.
Since templates can be freely redefined, this allows you to treat
their symbols as compile-time variables that have lexical scope.
A motivating PoC example for a logging library taking advantage of
this will be provided in the next commit.
Implementation details:
* The name of a template or a macro will be consider a symbol if
the template/macro requires parameters
* For parameterless templates/macros, you can use `bindSym`, which
was extended to also work outside of compile-time procs.
2018-05-07 09:37:49 +02:00
Oscar Nihlgård
c461811bde
Use safeLen in pairs iterator for PNode ( #7684 )
2018-04-25 02:29:47 +02:00
Jacek Sieka
72dfe176f5
remove dead code elimination option ( #7669 )
2018-04-23 11:02:38 +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
47335aab41
introduce nkTupleConstr AST node for unary tuple construction; breaking change
2018-04-13 17:45:58 +02:00
Andreas Rumpf
4c5351a1eb
fixes #6895
2018-04-11 23:26:20 +02:00
Arne Döring
6baca58693
Get symbol kind ( #7491 )
2018-04-11 16:48:01 +02:00
cooldome
16c1a90857
Cpp codegen: handling of imported exceptions. Fixes #3571 ( #7360 )
2018-04-10 12:14:59 +02:00
Araq
8518683dc7
the 'deprecated' pragma for modules now supports an error message
2018-04-06 11:59:49 +02:00
Andreas Rumpf
455dd36135
destructors: first version of 'sink' parameter logic
2018-03-31 20:27:08 +02:00