Commit Graph

285 Commits

Author SHA1 Message Date
Zahary Karadjov
7fdf29937d fix tgenericshardcases 2017-03-24 17:07:30 +02:00
Zahary Karadjov
cbf66e99a8 Working test cases for the sophisticated matrix library example from the manual
Fixed the dot operator when used within return types (see tgenericdotrettype)
Fixed the matching of generic concepts aliases used with the implicit generics style
2017-03-24 16:59:47 +02:00
Zahary Karadjov
52b241fd57 new type traits: GenericHead and StripGenericParams 2017-03-24 16:59:47 +02:00
Zahary Karadjov
74a80988d9 proper error reporting for concepts and the introduction of the {.explain.} pragma 2017-03-24 16:59:47 +02:00
Zahary Karadjov
644d645ea7 implement the special treatment of explicit type params in concepts 2017-03-24 16:58:15 +02:00
Zahary Karadjov
0f2c4be129 infer static parameters even when more complicated arithmetic is involved 2017-03-24 16:58:15 +02:00
Zahary Karadjov
815724db71 support the full range of type modifiers when declaring concept vars and testing proc signatures 2017-03-24 16:58:15 +02:00
Zahary Karadjov
66e0f0e19c concept type params inference working in basic examples 2017-03-24 16:58:15 +02:00
andri lim
e99721a593 fixes #5360, fixes #5238 (#5539); fixes type alias inequality for types coming from templates/macros 2017-03-16 08:04:36 +01:00
andri lim
ebb15505dd fixes #5231 inheriting from partial specialized generic object (#5538) 2017-03-15 07:59:34 +01:00
andri lim
0ff1190fe7 fixes #5264 (#5520); inheriting from generic object 2017-03-14 21:40:09 +01:00
zah
1be0022e7c Fixes #5167 and related problems (#5475)
This commit returns to a bit less strict checking of the number
of macro arguments, because some old immediate macros rely on a
behavior where even the arity of the macro is not being checked.

It may be better if such macros are just declared to use varargs[expr],
but this remains for another day.
2017-03-12 09:33:49 +01:00
Araq
ee13c8014b nimsuggest: track type contexts 2017-03-01 09:57:51 +01:00
Araq
2589d69ed2 fixes #5430 2017-02-26 00:32:07 +01:00
Andreas Rumpf
46efaf294b big compiler refactoring; avoid globals for multi method dispatcher generation 2017-02-22 16:27:52 +01:00
Araq
97e26967f1 fixes #5383 2017-02-16 00:43:14 +01:00
Andreas Rumpf
3c773c189f fixes #4973 2017-02-01 12:09:24 +01:00
Araq
0e1304a3e2 the compiler uses tyAlias internally; tester compiles again 2016-11-16 00:13:45 +01:00
Araq
e6c5622aa7 removed tyArrayConstr completely from the compiler; introduced tyAlias instead in preparation for further bugfixes 2016-11-14 23:18:30 +01:00
Andreas Rumpf
479373ad79 fixes #4088 2016-09-11 23:48:59 +02:00
Andreas Rumpf
3a13706d7d fixes #4673 2016-09-01 13:02:53 +02:00
Andreas Rumpf
afb0d2e145 partial fix for #4623 2016-08-26 15:39:21 +02:00
Andreas Rumpf
e92ccff57a fixes #4550 2016-08-04 01:37:41 +02:00
Andreas Rumpf
39ebe2175b compiler almost free of deprecated expr/stmt names 2016-07-30 16:34:42 +02:00
Andreas Rumpf
9605435f2e get rid of deprecated toLower/toUpper 2016-07-19 19:28:01 +02:00
Andreas Rumpf
b47d9b7b91 fixes #4371 2016-07-08 10:34:12 +02:00
Andreas Rumpf
5f4e98bbc7 fixes #4395, getType still not entirely correct 2016-06-23 12:41:45 +02:00
Anatoly Galiulin
88c99ad37c Improve error message for exported generated types 2016-06-01 15:33:00 +06:00
Andreas Rumpf
f7f3d70a68 bugfix: make visibility more robust for macros 2016-06-01 11:01:03 +02:00
Andreas Rumpf
2ac3e12372 fixes #4066 2016-05-18 12:40:01 +02:00
Andreas Rumpf
e97d640ce8 fixes #3998 2016-03-28 02:26:38 +02:00
Andreas Rumpf
0baa1d9955 first version of .partial objects 2016-02-28 23:22:47 +01:00
Andreas Rumpf
38dee2095c added 'sig' feature; removed tfShared support in the compiler 2016-02-28 19:56:41 +01:00
Andreas Rumpf
307a6095fa made closure iterators tests green, updated docs 2015-12-31 00:16:38 +01:00
Andreas Rumpf
c1627354d1 first implementation of the new lambda-lifting pass; barely anything works 2015-12-26 00:42:30 +01:00
Araq
760242b870 removes 'x is iterator' special casing in the language 2015-12-03 01:08:03 +01:00
Araq
217e0ab6e9 lambda lifting support for iterToProc plugin 2015-12-01 00:53:30 +01:00
Araq
a2480efd68 allow 'nil ref T' as a first step which does nothing 2015-11-26 17:46:05 +01:00
Araq
fd80a51547 fixes #2594 2015-09-18 12:07:39 +02:00
Araq
0aa908c86c clarify the meaning of the 'auto' metatype; 'auto' is now bind-multiple; fixes #3224 2015-09-14 20:25:52 +02:00
Araq
612cd25d5d usage of NimNode triggers .compileTime context; fixes #1679 2015-09-14 12:41:49 +02:00
Araq
8ef66b973d first attempt to fix 'a[i]' handling in generics 2015-09-12 10:55:28 +02:00
Araq
63cdcb2be1 implicit return types for iterators are now deprecated 2015-09-10 15:57:57 +02:00
Araq
f934c92132 fixes #3096 2015-08-09 23:37:13 +02:00
Araq
1b4116702b fixes #3052 2015-08-02 02:56:02 +02:00
Araq
b0b716fca7 fixes #3079, fixes #1146, fixes #2879 2015-07-22 16:32:56 +02:00
Araq
7011275f13 fixes #3062 2015-07-05 15:00:46 +02:00
Araq
2d196442fa fixes #3048, fixes #3047 2015-07-03 10:31:49 +02:00
Araq
cdc6529ccf fixes #3038 2015-07-03 00:20:34 +02:00
Araq
c314f8e65e fixes #3040 2015-07-02 23:04:46 +02:00