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
Zahary Karadjov
afddae5aaf
Merge branch 'upstream' into devel
...
Conflicts:
compiler/ccgutils.nim
compiler/msgs.nim
compiler/sem.nim
compiler/semexprs.nim
compiler/seminst.nim
compiler/semmagic.nim
compiler/semstmts.nim
compiler/semtypes.nim
compiler/semtypinst.nim
compiler/sigmatch.nim
compiler/types.nim
compiler/vmgen.nim
lib/core/macros.nim
lib/system.nim
tests/reject/tenummix.nim
web/news.txt
2013-12-29 17:21:00 +02:00
Zahary Karadjov
72291875bf
integrate the logic of fixupProcType into ReplaceTypeVars
2013-12-29 16:08:33 +02:00
Araq
b731e6ef1c
case consistency: cs:partial bootstraps on windows
2013-12-29 03:19:10 +01:00
Araq
438703f59e
case consistency: next steps
2013-12-29 01:13:51 +01:00
Zahary Karadjov
66a2556525
make more tests green
2013-12-29 00:00:37 +02:00
Zahary Karadjov
a59f13b00d
lift generic parameters from concrete composite type classes
2013-12-28 12:50:45 +02:00
Araq
92b8fac94a
case consistency part 4
2013-12-27 23:10:36 +01:00
Zahary Karadjov
a27eb51535
towards support for composite type classes such as seq[Number] and SquareMatrix[T]
2013-12-27 18:34:28 +02:00
Araq
2df9b442c6
case consistency part 1
2013-12-27 15:48:53 +01:00
Zahary Karadjov
027f30610e
static params: expr[T] is now static[T]
...
This introduces tyStatic and successfully bootstraps and handles
few simple test cases. Static params within macros are no longer
treated as PNimrodNodes - they are now equivalent to constants
of the designated type.
2013-12-19 01:06:38 +02:00
Zahary Karadjov
de3b7cd413
progress towards adding negative type classes
...
[unittest bugfixes]
the block form of check now allows comments
errors when inspecting the arguments of var-accepting procs
2013-12-09 00:09:03 +02:00
Zahary Karadjov
fee2a7ecfa
Experimental support for delayed instantiation of generics
...
This postpones the semantic pass over the generic's body until
the generic is instantiated. There are several pros and cons for
this method and the capabilities that it enables may still be possible
in the old framework if we teach it a few new trick. Such an attempt
will follow in the next commits.
pros:
1) It allows macros to be expanded during generic instantiation that
will provide the body of the generic. See ``tmacrogenerics``.
2) The instantiation code is dramatically simplified. Dealing with unknown
types in the generic's body pre-pass requires a lot of hacky code and error
silencing in semTypeNode. See ``tgenericshardcases``.
cons:
1) There is a performance penalty of roughly 5% when bootstrapping.
2) Certain errors that used to be detected in the previous pre-pass won't
be detected with the new scheme until instantiation.
2013-08-23 01:10:20 +03:00
Zahary Karadjov
ca3a4ce672
hacky fix for generic constraints matching
2013-08-19 01:48:25 +03:00
Zahary Karadjov
b01d9b6181
work-in-progress for compiling generics in their owner module
2013-08-19 01:45:16 +03:00
Zahary Karadjov
c6d0611112
Revert "Revert "made some tests green""
2013-08-19 01:35:33 +03:00