Commit graph Nim/compiler/semtypes.nim
Author SHA1 Message Date
Araq
0d744cccc2 make boostrapping work 2017-12-15 16:46:27 +01:00
Araq
14468e2336 make tests green again 2017-11-23 14:37:53 +01:00
Araq
c1ad75fa5c make tests green again 2017-11-23 13:06:02 +01:00
Araq
dee5e63f62 fixes #4686 2017-11-23 02:37:23 +01:00
Araq
a6226d9452 fixes #6682 2017-11-22 23:39:50 +01:00
Araq
2f17be9c22 improve error message for bug #6788 2017-11-22 23:19:12 +01:00
Andreas Rumpf
cae5e33a4a language change: 'generic' and 'atomic' are not keywords anymore 2017-11-21 11:27:35 +01:00
Andreas Rumpf
2d726711fa fixes #6765 2017-11-17 11:40:46 +01:00
Andreas Rumpf
30b098fcaf wip 2017-11-02 15:39:44 +01:00
Andreas Rumpf
6cb8bf8045 fixes bug reported in PR #5637 2017-10-30 09:19:02 +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
3aa7c2232e destructors: supportsCopyMem finally works for recursive types 2017-10-26 00:55:23 +02:00
Andreas Rumpf
f7f3a25be8 first steps of making 'opt' a first class type for Nim 2017-09-25 13:19:36 +02:00
Andreas Rumpf
e879da5791 some work to make 'opt' a first class type 2017-09-24 11:21:52 +02:00
Andreas Rumpf
fd4ef6ae8f .pure enums are much more convenient to use now 2017-09-17 17:36:37 +02:00
Parashurama
837b77b0a1 fixes basic type alignement issue on i386 platform. (#6209) 2017-08-19 09:02:02 +02:00
Zahary Karadjov
c3e5c6c326 treat var modifiers inside the concept body correctly: #1033 2017-08-19 08:57:43 +02:00
Mathijs Saey
f8266c7376 Fixes #6008 (#6068) 2017-07-08 07:31:53 +02:00
Zahary Karadjov
21ce7b2af4 Fix #5888 2017-06-20 11:29:42 +02:00
Zahary Karadjov
a6006e56a7 Fix #4737 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
Andreas Rumpf
c59bc0cc18 first steps to allow easy functors via macros 2017-06-04 11:17:41 +02:00
Andreas Rumpf
7a95c961a7 cleanup of in/out covariance handling 2017-05-17 20:54:53 +02:00
Zahary Karadjov
0aede22e87 enforce the covariance rules for user-defined generic types 2017-05-13 14:38:07 +03:00
Zahary Karadjov
a802d72452 doh, forgot to add all files in the previous commit 2017-05-12 12:46:09 +03:00
Zahary Karadjov
5e368f3639 support for external types with covariant generic params 2017-05-08 21:45:37 +03:00
Zahary Karadjov
bf4ce87e5b fix #5689 2017-04-15 02:53:28 +03:00
Zahary Karadjov
0b7321651e fix #5658 2017-04-07 21:53:27 +03:00
Zahary Karadjov
eb635d9ccf fix #5648 2017-04-07 17:03:49 +03:00
Zahary Karadjov
a74ad869e9 requested code review changes 2017-03-29 16:15:30 +03:00
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