Commit graph

867 commits

Author SHA1 Message Date
Andreas Rumpf
ee366f1746 .experimental can now be used to enable specific features 2018-04-24 09:34:29 +02:00
Andreas Rumpf
07f4e8a4ed new 'var T' error messages with hyperlinks; closes #7373 2018-04-22 00:12:43 +02:00
Andreas Rumpf
b43025b754 fixes #5113 2018-04-21 23:58:24 +02:00
Andreas Rumpf
47335aab41 introduce nkTupleConstr AST node for unary tuple construction; breaking change 2018-04-13 17:45:58 +02:00
zah
121b9e26fb Static[T] fixes (#7333)
* fix the usage of unresolved static[T] parameters in proc signatures
* fix tsametype and tmacrogenerics
* Allow creating composite type classes with concepts and using them in type signatures
* Allow integers to be used in ident concatenations
* Support using imported C++ generic types in proc signatures
* fixes #7230
* closes #7379
* re-enable some metatype tests
2018-03-24 15:28:09 +01:00
Andreas Rumpf
3be4f9111c enforce 'var T' produces a view into the first parameter; refs #7373 2018-03-24 09:41:04 +01:00
Andreas Rumpf
6f747674be more checking for 'var T' as return type; refs #7373 2018-03-24 08:37:09 +01:00
Araq
b0994c7f92 better error messages 2018-03-18 12:04:22 +01:00
Andreas Rumpf
eeea000582 make the 'canimport' template work 2018-03-06 15:57:46 +01:00
Araq
037ce16f44 improve the error message for mutability problems 2018-02-17 00:40:48 +01:00
Araq
ef6eda4cb4 better error messages: use <T1, T2> instead of (T1, T2) in order to prevent confusions with tuple types 2018-02-10 20:55:21 +01:00
Andreas Rumpf
c99f952dfb basic 'lent T' test works 2018-01-21 03:04:22 +01:00
cooldome
2c9e56a783 Implement custom annotations (#6987) 2018-01-09 15:25:22 +01:00
Andreas Rumpf
437caf4358 Merge branch 'devel' into nimv2 2018-01-08 20:04:25 +01:00
Andreas Rumpf
ceb8ba4957 fixes #7018 2018-01-08 18:02:38 +01:00
Andreas Rumpf
2015895357 sink type begins to compile 2018-01-08 01:47:54 +01:00
Andreas Rumpf
e4081a7201 preparations for language extensions: 'sink' and 'lent' types 2018-01-07 23:09:26 +01:00
Araq
29db57a804 fixes reported 'proc foo(): int = result' codegen problem 2017-12-30 00:29:53 +01:00
Araq
0b0baece89 fixes #6980 2017-12-27 21:26:37 +01:00
Zahary Karadjov
70380882c5 fix #6108 2017-12-21 11:04:05 +01:00
Araq
ee67a67ac4 first steps in adding template/macro calls to stack traces 2017-12-21 10:03:33 +01:00
cooldome
3659fec725 Alternative fix for #4910 that covers #6892; fixes #6892 (#6938) 2017-12-17 23:56:21 +01:00
Araq
d244508b8a fixes #6932 2017-12-17 14:23:57 +01:00
Araq
eab46c5b7e runnableExamples feature: allow import statements and move them to the top level 2017-12-17 13:42:56 +01:00
Araq
be87fe9176 make tests green again 2017-12-15 13:24:47 +01:00
Araq
8db5b32ff7 make type vs proc ambiguous handling more consistent; fixes #6726; fixes #6693 2017-12-15 12:16:03 +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
Araq
5d2e86ea1a the documentation generator now supports ':test:' for the testing of test snippets 2017-11-28 01:15:33 +01:00
Araq
a720539f5e fixes system.runnableExamples; strutils makes use of runnableExamples 2017-11-26 03:24:59 +01:00
Araq
8d1a5dc8e7 the documentation generator now supports system.runnableExamples 2017-11-26 02:51:11 +01:00
Araq
3bd6b7ddc7 improve the error messages for bug #6692 2017-11-05 02:51:20 +01:00
Andreas Rumpf
a155130cf2 fixes #1860; macro generating a wrong nkSymChoice node 2017-10-30 15:37:34 +01:00
Andreas Rumpf
d7a896f19d breaking change: 'and' and 'mod' do not produce a subrange type anymore; fixes #5854 2017-10-30 00:27:30 +01:00
Andreas Rumpf
f1dab39086 remove old implementation of the roof operator; make tests green again; close #6292 2017-10-29 20:36:07 +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
Araq
4f2b79a380 topttree destructor finally works 2017-10-26 00:55:23 +02:00
Araq
b407f083ba destructors: work in progress 2017-10-26 00:55:23 +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
Araq
a75f3b3661 fixes #4910 2017-10-14 22:35:20 +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
d8746398c4 allow macros to produce nnkGotoState and nkState 2017-10-09 21:12:40 +02:00
Andreas Rumpf
61720e0df9 breaking change: getAst strips away pointless nnkStmtList nodes; node rendering of nnkStmtList without wrong indentation 2017-09-26 10:24:14 +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
1a61c4d46d first implementation of the 'func' keyword 2017-09-23 23:22:53 +02:00
Andreas Rumpf
fd4ef6ae8f .pure enums are much more convenient to use now 2017-09-17 17:36:37 +02:00
Andreas Rumpf
a08fb61da9 make tests green again 2017-08-31 13:59:25 +02:00