summary refs log tree commit diff stats
path: root/compiler/seminst.nim
Commit message (Collapse)AuthorAgeFilesLines
* make tests green againAraq2018-05-141-2/+2
|
* more modules compile againAndreas Rumpf2018-05-121-13/+14
|
* added toOpenArray builtin for zero-copy slices; syntax sugar yet to comeAraq2018-03-241-1/+3
|
* Static[T] fixes (#7333)zah2018-03-241-0/+30
| | | | | | | | | | | * fix the usage of unresolved static[T] parameters in proc signatures * fix tsametype and tmacrogenerics * Allow creating composite type classes with concepts and using them in type signatures * Allow integers to be used in ident concatenations * Support using imported C++ generic types in proc signatures * fixes #7230 * closes #7379 * re-enable some metatype tests
* fixes #6489Araq2017-11-231-0/+2
|
* deprecated unary '<'Andreas Rumpf2017-10-291-4/+4
|
* first implementation of the 'func' keywordAndreas Rumpf2017-09-231-1/+1
|
* Fix #5962Zahary Karadjov2017-06-201-3/+8
| | | | | | | | | | | | | | | During the instantiation of a generic type A, some other generic type B may be instantiated multiple times with different parameters. We can think about each instantiation as a function call that should temporary bind the parameter names to concrete types. The problem with the existing implementation in semtypinst was that it was performing this binding within a shared global table. In this sense, it was executing the code as a programming language featuring only global variables. In such a language, re-entrant functions cannot be defined properly and hence this was leading to problems with similar types. The solution is simple - just like we need to introduce stack frames to handle re-entrant functions, we introduce a stack of type bindings that are pushed and popped during the generic instantiations.
* introduce a pre-processing pass for the concept bodiesZahary Karadjov2017-06-201-3/+3
| | | | | | | fixes #4982 fixes #3805 close #3414
* fixes tproctypecache_falsepositive.nim test caseAraq2017-06-081-1/+2
|
* Restore the Nim's 0.14 proper handling of generic aliasesZahary Karadjov2017-04-081-1/+2
| | | | | | | | | | | 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
* fix tgenericshardcasesZahary Karadjov2017-03-241-1/+2
|
* Fix generic forward declarations; fixes #4104; fixes #4908 (#5566)zah2017-03-231-3/+11
|
* fixes #5430Araq2017-02-261-1/+1
|
* big compiler refactoring; avoid globals for multi method dispatcher generationAndreas Rumpf2017-02-221-3/+3
|
* make tests green againAraq2017-02-161-1/+3
|
* fixes #5383Araq2017-02-161-3/+4
|
* fixes #5285Andreas Rumpf2017-02-041-2/+9
|
* remove remnants of tyIterJacek Sieka2016-10-241-1/+1
|
* fixes #4856Andreas Rumpf2016-10-201-1/+2
|
* fixes #4673Andreas Rumpf2016-09-011-1/+1
|
* Merge pull request #4592 from arnetheduck/compiler-cleanupAndreas Rumpf2016-08-251-30/+0
|\ | | | | Compiler cleanup
| * remove unused stuffJacek Sieka2016-08-091-30/+0
| |
* | side-effect computation now done in the proper pass; fixes #4254Andreas Rumpf2016-08-251-3/+4
|/
* fixes #3055Andreas Rumpf2016-07-081-1/+1
|
* fixes #4177Andreas Rumpf2016-05-281-2/+4
|
* fixes #4097Andreas Rumpf2016-04-191-7/+7
|
* added experimental .this pragmaAndreas Rumpf2016-02-281-1/+43
|
* fixes #3476Araq2015-10-271-2/+2
|
* fixes #3338Araq2015-10-221-1/+7
|
* renamed inCompilesContext to compilesContextId; added test case for #3313Araq2015-09-181-3/+3
|
* fixes #3313Araq2015-09-181-4/+7
|
* fixes #3329Araq2015-09-181-1/+1
|
* usage of NimNode triggers .compileTime context; fixes #1679Araq2015-09-141-0/+2
|
* fixes generic instantations in conceptsAraq2015-09-121-0/+3
|
* 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
|