Commit graph

615 commits

Author SHA1 Message Date
Veladus
6a2b31226e Compiler now catches when an expression is raised which is no Exception 2017-12-02 17:54:35 +01:00
Araq
fa92c519aa more progress on destructors; removed old destructor based code as it proved confusing 2017-12-01 01:52:00 +01:00
Andreas Rumpf
617ba1a209 Merge branch 'devel' into araq 2017-11-07 11:17:20 +01:00
Andreas Rumpf
4e4d466d06 minor breaking change: for loop bodies now get their own scope 2017-11-05 16:53:05 +01:00
Andreas Rumpf
30b098fcaf wip 2017-11-02 15:39:44 +01:00
Andreas Rumpf
d52a1061b3 work in progress: new implementation for 'a[^1]' 2017-10-29 19:46:17 +01:00
Andreas Rumpf
70ea45cdba deprecated unary '<' 2017-10-29 08:37:13 +01:00
Andreas Rumpf
c17f6c7837 new feature: package level objects 2017-10-29 07:54:39 +01:00
Andreas Rumpf
7889692523 first implementation of package level types that allow forwarding across module boundaries 2017-10-28 15:28:59 +02:00
Andreas Rumpf
c6235920cb backend preparations for incomplete/forwarded object types 2017-10-28 13:46:43 +02:00
Araq
9df766491d default '=sink' and '=destroy' cannot be templates 2017-10-25 17:37:03 +02:00
Andreas Rumpf
8be60dc6bd allow 'block' and 'nkState' after return for easier state machine generation 2017-10-19 15:51:36 +02:00
Andreas Rumpf
58d5f96790 destructors: lift type bound ops to objects and arrays etc 2017-10-17 14:48:16 +02:00
Araq
45d74f4081 destructors: preparations for upcoming changes 2017-10-17 12:46:49 +02:00
Andreas Rumpf
8780d25e03 minor refactorings for better destructors 2017-10-14 20:37:49 +02:00
Andreas Rumpf
5dca695bcf new destroyer pass works with procs too 2017-10-13 07:00:52 +02:00
Andreas Rumpf
63530be0b8 introduce --newruntime switch for the upcoming destructors and move semantics 2017-10-13 06:38:59 +02:00
Andreas Rumpf
a2e4ab2e4e simple programs now work with the new destroyer pass 2017-10-12 17:42:15 +02:00
Andreas Rumpf
d6c401acfb code cleanups for the upcoming reworked destructors 2017-10-12 12:47:34 +02:00
Andreas Rumpf
ec253ada72 initial version of the new untested destructor pass 2017-10-12 11:32:29 +02:00
Andreas Rumpf
1063085850 fixes #6474 2017-10-10 13:57:03 +02:00
Araq
b2c358be96 the 'using construct is not .experimental anymore 2017-09-30 18:32:44 +02:00
Andreas Rumpf
e879da5791 some work to make 'opt' a first class type 2017-09-24 11:21:52 +02:00
Andreas Rumpf
be2e7290fb write tracking for funcs implemented 2017-09-23 23:29:23 +02:00
Andreas Rumpf
1c0c9d8959 make tests green again 2017-09-21 21:07:00 +02:00
Andreas Rumpf
2ad9a16e0a fixes anon procs created by macros 2017-07-11 18:07:34 +02:00
Andreas Rumpf
c1d061bb5a fixes #4898 2017-07-09 13:29:44 +02:00
Zahary Karadjov
21ce7b2af4 Fix #5888 2017-06-20 11:29:42 +02:00
Zahary Karadjov
16eb4b1fee Fix #5127 2017-06-20 11:29:42 +02:00
Zahary Karadjov
8f4b374327 Fix #4020; Better handling of templates within concepts 2017-06-20 11:29:42 +02:00
Zahary Karadjov
cd02561368 introduce a pre-processing pass for the concept bodies
fixes #4982
fixes #3805

close #3414
2017-06-20 11:29:42 +02:00
Yuriy Glukhov
58eae1171d Fixes #5995 2017-06-18 00:57:05 +03:00
Andreas Rumpf
55c244400d .partial object field names are left unmangled; mangling should be done by the macro instead 2017-06-05 10:30:24 +02:00
Andreas Rumpf
c59bc0cc18 first steps to allow easy functors via macros 2017-06-04 11:17:41 +02:00
Araq
8f67b90997 Merge branch 'araq2' into devel 2017-05-17 22:13:57 +02:00
Andreas Rumpf
7a95c961a7 cleanup of in/out covariance handling 2017-05-17 20:54:53 +02:00
Araq
943aaecbe7 Merge branch 'devel' of github.com:nim-lang/Nim into devel 2017-05-16 22:09:37 +02:00
Yuriy Glukhov
6599cae281 Async macro fixes (#5739) 2017-05-16 22:09:19 +02:00
Araq
ac3e7edfe4 weaken the rules for proc definition pragmas that have been forwarded 2017-05-16 22:07:44 +02:00
Zahary Karadjov
05bfa47996 fix tinvalidinout 2017-05-13 18:51:28 +03:00
Zahary Karadjov
b428da2cc2 work-around for defining imported types with weak covariance 2017-05-13 15:46:08 +03:00
Zahary Karadjov
0aede22e87 enforce the covariance rules for user-defined generic types 2017-05-13 14:38:07 +03:00
Zahary Karadjov
a3f19c87fb lift parameter-less do block to lambdas 2017-04-10 23:58:05 +03:00
Zahary Karadjov
987b522071 fix the do notation when used with procs 2017-04-09 22:59:24 +03:00
Zahary Karadjov
e9a3ffbc3d Restore the Nim's 0.14 proper handling of generic aliases
A more efficient implementation is possible by restoring the old
lifting ot tyGenericInvocation to tyGenericInst in liftTypeParam,
but this fix will suffice for now.

fixes #5087
fixes #5602
fixes #5641
fixes #5570
2017-04-08 17:28:19 +03:00
Zahary Karadjov
0b7321651e fix #5658 2017-04-07 21:53:27 +03:00
Andreas Rumpf
08f5087d2c remove the need for the .procvar annotation 2017-04-03 16:35:41 +02:00
Andreas Rumpf
e8cfa14354 de-deprecate silly warning about non-exhaustive string case statments 2017-04-03 12:28:06 +02:00
Andreas Rumpf
529609f7ed Merge remote-tracking branch 'origin/concepts-rebased' into araq 2017-03-31 16:40:21 +02:00
Zahary Karadjov
a74ad869e9 requested code review changes 2017-03-29 16:15:30 +03:00