summary refs log tree commit diff stats
path: root/compiler/sigmatch.nim
Commit message (Collapse)AuthorAgeFilesLines
* sigmatch: speed it upAndreas Rumpf2018-04-281-3/+1
|
* minor speedup: concept tests still greenAndreas Rumpf2018-04-281-10/+9
|
* stuff that is greenAndreas Rumpf2018-04-281-7/+17
|
* fixes #7600, generic object with generic ref object parent typerel bug (#7678)andri lim2018-04-271-2/+7
| | | | | | * fixes #7600 * fix wrong logic
* Static[T] fixes (#7333)zah2018-03-241-1/+1
| | | | | | | | | | | * 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 #7331Araq2018-03-181-1/+2
|
* improves the stability of 'nim check'Andreas Rumpf2018-03-131-1/+3
|
* fixes #7247Andreas Rumpf2018-02-231-28/+31
|
* Fixes #6853 (#7188)cooldome2018-02-101-1/+6
| | | | | * Fixes #6853 * Add a test for a const empty array
* improve the error messages regarding type mismatches in overloading resolutionAndreas Rumpf2018-02-041-2/+6
|
* make tests green againAndreas Rumpf2018-02-031-16/+16
|
* disabled non-documented overloading rule for templates and macrosAndreas Rumpf2018-02-021-13/+16
|
* better type inference for numerical types; prerequisitive for version 1Andreas Rumpf2018-02-021-3/+29
|
* sink type begins to compileAndreas Rumpf2018-01-081-14/+16
|
* fixes #6073Andreas Rumpf2017-11-181-1/+1
|
* Fix compiler crash (#6773) (#6774)cooldome2017-11-181-1/+1
|
* concepts: fixes the stack overflow that happens for #6691Andreas Rumpf2017-11-051-1/+2
|
* make range type checking more restrictive, see tn8vsint16 test case; minor ↵Andreas Rumpf2017-11-011-1/+10
| | | | breaking change
* made nimresolve part of the compilerAndreas Rumpf2017-10-291-1/+1
|
* deprecated unary '<'Andreas Rumpf2017-10-291-8/+8
|
* fixes #6526Araq2017-10-271-10/+14
|
* destructors: supportsCopyMem finally works for recursive typesAraq2017-10-261-1/+2
|
* preparations for another bugfixAndreas Rumpf2017-10-191-1/+12
|
* breaking change: arrays of char do not convert to cstring; ptr to array of ↵Andreas Rumpf2017-10-101-6/+7
| | | | char does
* some work to make 'opt' a first class typeAndreas Rumpf2017-09-241-1/+1
|
* first implementation of the 'func' keywordAndreas Rumpf2017-09-231-4/+4
|
* fix #5918Zahary Karadjov2017-08-191-1/+3
|
* Fix #5084Zahary Karadjov2017-06-201-3/+6
|
* Fix #4737Zahary Karadjov2017-06-201-3/+6
|
* Fix #5127Zahary Karadjov2017-06-201-5/+6
|
* fix #1017; fix #3309Zahary Karadjov2017-06-201-0/+6
|
* fix #2730; fix #4880Zahary Karadjov2017-06-201-0/+7
|
* fix #5017; fix #5893Zahary Karadjov2017-06-201-1/+3
|
* fix #5864Zahary Karadjov2017-06-201-0/+2
|
* add a useful helper for debugging typeRel problemsZahary Karadjov2017-06-201-4/+26
|
* introduce a pre-processing pass for the concept bodiesZahary Karadjov2017-06-201-36/+22
| | | | | | | fixes #4982 fixes #3805 close #3414
* fix #5890Zahary Karadjov2017-06-201-1/+2
|
* cleanup of in/out covariance handlingAndreas Rumpf2017-05-171-6/+6
|
* enforce the covariance rules for user-defined generic typesZahary Karadjov2017-05-131-4/+4
|
* covariance for arrays and sequencesZahary Karadjov2017-05-121-12/+40
|
* doh, forgot to add all files in the previous commitZahary Karadjov2017-05-121-12/+58
|
* a simple way to simulate covariance in generic typesZahary Karadjov2017-04-281-1/+6
|
* fix a regrsesion in signature matching of derived ptr typesZahary Karadjov2017-04-181-3/+5
|
* Restore the compilation of linalg by tweaking the complex disambiguation rulesZahary Karadjov2017-04-161-10/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | This commit is a potentially breaking change, but the problem was that linalg was relying on a previous bug in the compiler, which was fixed in the concepts branch. With the old disambiguation rules, generic procs like: proc \`==\`[T](lhs, rhs: T) and proc \`==\`(lhs, rhs: Matrix32|Matrix64) .. were considered equal, even though it's obvious that the second one should be preferred. We never noticed this, because there was a bug in sigmatch incorrectly counting one of the params of the second proc as a non-generic match, thus giving it an edge. This commit gives some preference to tyOr and tyAnd during the complex disambiguation, which may affect overload resolution in other cases. I see this only as a temporary solution. With my upcoming work on concept refinement, I plan to provide an experimental implementation of alaternative C++-like rules for determining which proc is more specific. We can then discuss our strategy for dealing with such a breaking change.
* fix regression in tmatrixconceptZahary Karadjov2017-04-161-0/+4
|
* fix a compilation error in linalgZahary Karadjov2017-04-161-25/+23
|
* fix #5689Zahary Karadjov2017-04-151-8/+10
|
* fix #5683Zahary Karadjov2017-04-141-6/+9
|
* lift parameter-less do block to lambdasZahary Karadjov2017-04-101-1/+12
|
* fix the do notation when used with procsZahary Karadjov2017-04-091-0/+3
|