Commit graph

169 commits

Author SHA1 Message Date
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
7fdf29937d fix tgenericshardcases 2017-03-24 17:07:30 +02:00
zah
be174fc3c7 Fix generic forward declarations; fixes #4104; fixes #4908 (#5566) 2017-03-23 12:40:57 +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
01c785e0aa make tests green again 2017-02-16 10:39:40 +01:00
Araq
97e26967f1 fixes #5383 2017-02-16 00:43:14 +01:00
Andreas Rumpf
abaf5d0bdb fixes #5285 2017-02-04 21:00:07 +01:00
Jacek Sieka
6f7b891bdc remove remnants of tyIter 2016-10-24 21:10:48 +08:00
Andreas Rumpf
bae3baf9cc fixes #4856 2016-10-20 15:20:27 +02:00
Andreas Rumpf
3a13706d7d fixes #4673 2016-09-01 13:02:53 +02:00
Andreas Rumpf
10f445da89 Merge pull request #4592 from arnetheduck/compiler-cleanup
Compiler cleanup
2016-08-25 16:50:54 +02:00
Andreas Rumpf
f1e4d8ed74 side-effect computation now done in the proper pass; fixes #4254 2016-08-25 16:33:51 +02:00
Jacek Sieka
3cd4cf4320 remove unused stuff 2016-08-09 22:54:27 +08:00
Andreas Rumpf
089c31765f fixes #3055 2016-07-08 20:11:59 +02:00
Andreas Rumpf
e65c89ee28 fixes #4177 2016-05-28 22:40:28 +02:00
Andreas Rumpf
8dfdea8919 fixes #4097 2016-04-19 11:56:35 +02:00
Andreas Rumpf
1afdefcbe9 added experimental .this pragma 2016-02-28 03:17:20 +01:00
Araq
86e2d6ee90 fixes #3476 2015-10-27 08:37:56 +01:00
Araq
d93507fd2e fixes #3338 2015-10-22 10:24:46 +02:00
Araq
c921f30b1d renamed inCompilesContext to compilesContextId; added test case for #3313 2015-09-18 11:29:43 +02:00
Araq
5b2f54ffa1 fixes #3313 2015-09-18 11:24:16 +02:00
Araq
36f68e1650 fixes #3329 2015-09-18 02:24:12 +02:00
Araq
612cd25d5d usage of NimNode triggers .compileTime context; fixes #1679 2015-09-14 12:41:49 +02:00
Araq
c27019f4d9 fixes generic instantations in concepts 2015-09-12 19:40:08 +02:00
Andreas Rumpf
b3abcaf9e8 Merge pull request #3177 from zah/generic-types-in-macros
Generic types in macros
2015-08-14 01:51:25 +02:00
Araq
35f8cc0bdd fixes #2752 2015-08-09 20:29:03 +02:00
Zahary Karadjov
02f97489b7 fix #1858 again; restores the support for static macro params 2015-08-02 23:58:22 +03:00
Araq
26eae7d00e fixes #2470, fixes #1354 2015-04-28 20:21:53 +02:00
Araq
d89a20cc1d fixes #2509 2015-04-11 10:01:10 +02:00
Araq
4d8cd34c9e fixes #794 2015-03-07 15:43:35 +01:00
Araq
f2cdbc92eb fixes #2215 2015-02-25 20:32:32 +01:00
Araq
b7f11b8b0a fixes #2125 2015-02-18 13:44:01 +01:00
Federico Ceratto
c95f6f117a Fix typos 2015-02-15 16:06:06 +00:00
Araq
34b4e9fc96 fixes #2004 2015-02-08 15:43:50 +01:00
Dustin Lacewell
0619383f46 Revert 5e4ae8d 2015-01-07 14:07:06 -08:00
Zahary Karadjov
5e4ae8dbb4 fix #1858; Add support for generic templates and macros
Implementation notes:
Just after overload resolution, the resolved generic params will be added to the
call expression to be later processed in evalTemplate and evalMacroCall. These
procs have been modified to handle the increased number of parameters, but one
remaining issue is that immediate templates and macros don't go through the same
process. The next commit will outlaw the use of generic parameters with such macros.
2015-01-05 03:53:31 +02:00
Zahary Karadjov
da36a847a7 fix #1789 (binding to static params during generic proc sigmatch) 2014-12-31 01:45:23 +02:00
Araq
8349cee613 fixes #1055 2014-11-16 20:32:05 +01:00
Araq
2781fea9e2 Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
Araq
06ad50b671 fixes #669 2014-08-14 21:56:06 +02:00
Clay Sweetser
93fa75bb07 Fixed #1172 (for real) 2014-06-01 17:40:06 -04:00
Araq
be6474af63 removed flawed thread analysis pass 2014-04-20 14:00:04 +02:00
Zahary Karadjov
49b0440c47 make some tests green 2014-03-16 20:42:49 +02:00
Zahary Karadjov
ac271e76b1 more robust handling of proc signatures containing inter-param type references 2014-03-16 20:42:06 +02:00
Zahary Karadjov
37b199d34a first phase of tyGenericParam reforms needed for static params 2014-03-16 20:42:06 +02:00
Zahary Karadjov
085b339b8b implements higher-order inline iterators and return type inference for iterators 2014-03-08 22:57:06 +02:00
Zahary Karadjov
1ffae7cbaf progress towards fixing tgenericshardcases 2014-01-06 00:15:55 +02:00
Zahary Karadjov
8e0941576f clean-up some obsolete code; close #602 2013-12-31 12:39:43 +02:00
Zahary Karadjov
7e24cf26de handle recursive types during the instantiation of meta types; propagate tfHasMeta more carefully 2013-12-30 16:06:32 +02:00