summary refs log tree commit diff stats
path: root/compiler/seminst.nim
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #3177 from zah/generic-types-in-macrosAndreas Rumpf2015-08-141-12/+13
|\ | | | | Generic types in macros
| * fix #1858 again; restores the support for static macro paramsZahary Karadjov2015-08-021-12/+13
| |
* | fixes #2752Araq2015-08-091-3/+4
|/
* fixes #2470, fixes #1354Araq2015-04-281-1/+3
|
* fixes #2509Araq2015-04-111-1/+4
|
* fixes #794Araq2015-03-071-16/+16
|
* fixes #2215Araq2015-02-251-10/+11
|
* fixes #2125Araq2015-02-181-8/+18
|
* Fix typosFederico Ceratto2015-02-151-1/+1
|
* fixes #2004Araq2015-02-081-4/+9
|
* Revert 5e4ae8dDustin Lacewell2015-01-071-13/+12
|
* fix #1858; Add support for generic templates and macrosZahary Karadjov2015-01-051-12/+13
| | | | | | | | | 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.
* fix #1789 (binding to static params during generic proc sigmatch)Zahary Karadjov2014-12-311-1/+3
|
* fixes #1055Araq2014-11-161-3/+6
|
* Nimrod renamed to NimAraq2014-08-281-1/+1
|
* fixes #669Araq2014-08-141-1/+2
|
* Fixed #1172 (for real)Clay Sweetser2014-06-011-3/+5
|
* removed flawed thread analysis passAraq2014-04-201-3/+0
|
* make some tests greenZahary Karadjov2014-03-161-7/+9
|
* more robust handling of proc signatures containing inter-param type referencesZahary Karadjov2014-03-161-11/+58
|
* first phase of tyGenericParam reforms needed for static paramsZahary Karadjov2014-03-161-6/+3
|
* implements higher-order inline iterators and return type inference for iteratorsZahary Karadjov2014-03-081-1/+1
|
* progress towards fixing tgenericshardcasesZahary Karadjov2014-01-061-2/+1
|
* clean-up some obsolete code; close #602Zahary Karadjov2013-12-311-146/+8
|
* handle recursive types during the instantiation of meta types; propagate ↵Zahary Karadjov2013-12-301-0/+1
| | | | tfHasMeta more carefully
* Merge branch 'upstream' into develZahary Karadjov2013-12-291-9/+32
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * integrate the logic of fixupProcType into ReplaceTypeVarsZahary Karadjov2013-12-291-1/+2
| |
| * make more tests greenZahary Karadjov2013-12-291-1/+18
| |
| * lift generic parameters from concrete composite type classesZahary Karadjov2013-12-281-1/+4
| |
| * towards support for composite type classes such as seq[Number] and ↵Zahary Karadjov2013-12-271-2/+4
| | | | | | | | SquareMatrix[T]
| * static params: expr[T] is now static[T]Zahary Karadjov2013-12-191-4/+4
| | | | | | | | | | | | | | 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.
* | case consistency: cs:partial bootstraps on windowsAraq2013-12-291-5/+5
| |
* | case consistency: next stepsAraq2013-12-291-1/+1
| |
* | case consistency part 4Araq2013-12-271-16/+16
| |
* | case consistency part 1Araq2013-12-271-5/+3
|/
* progress towards adding negative type classesZahary Karadjov2013-12-091-2/+3
| | | | | | [unittest bugfixes] the block form of check now allows comments errors when inspecting the arguments of var-accepting procs
* Experimental support for delayed instantiation of genericsZahary Karadjov2013-08-231-6/+43
| | | | | | | | | | | | | | | | | | | | 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.
* hacky fix for generic constraints matchingZahary Karadjov2013-08-191-0/+2
|
* work-in-progress for compiling generics in their owner moduleZahary Karadjov2013-08-191-3/+4
|
* Revert "Revert "made some tests green""Zahary Karadjov2013-08-191-16/+21
|
* Revert "Revert "further fixes for void stripping. fixes tvoid.""Zahary Karadjov2013-08-191-20/+25
| | | | This reverts commit d11cf5d1915d83159094f5074a6e17a72c65d9fa.
* Revert "Revert "fix threading tests""Zahary Karadjov2013-08-191-8/+16
| | | | This reverts commit 9c45e33d8c8b1a5f5fca69a467fda87b9b547057.
* Revert "Revert "fix tforwardgeneric""Zahary Karadjov2013-08-191-2/+0
| | | | This reverts commit e3f93241c3824e49b69c647bbd44726a79e8f8f8.
* remerge "Fixes #267"Zahary Karadjov2013-08-191-19/+84
|
* Revert "fixes #267"Araq2013-05-271-84/+19
| | | | This reverts commit 7fccdedcb5d1e583039b2ea2ae6564412a0f5104.
* Revert "fix tforwardgeneric"Araq2013-05-271-0/+2
| | | | This reverts commit d82a032566de1612ff1ed2d82cc7ec2bd58267d7.
* Revert "fix threading tests"Araq2013-05-271-16/+8
| | | | This reverts commit d5fffc032f2b390abd7b4c4fea2e49b1a0ef9736.
* Revert "further fixes for void stripping. fixes tvoid."Araq2013-05-271-25/+20
| | | | This reverts commit 4ae4005f805c5b2e329b2e060fcf40169238a9f9.
* Revert "more test made green"Araq2013-05-271-21/+16
| | | | This reverts commit 911e6e710f28f454cf8bc1bb493c1a28c4694b76.
* more test made greenZahary Karadjov2013-05-261-16/+21
| | | | | | | | | the lambda lifting was trying too hard to ignore generic prods isGenericRoutine was producing false-negatives and only this allowed for some of the warning and error messages to be triggered. some files with mixed line endings were fixed