summary refs log tree commit diff stats
path: root/compiler/sigmatch.nim
Commit message (Collapse)AuthorAgeFilesLines
* attempt to fix #5632 typedesc typeRel regression (#5634)andri lim2017-03-311-1/+1
|
* requested code review changesZahary Karadjov2017-03-291-12/+12
|
* restore compilation and make all concepts tests greenZahary Karadjov2017-03-241-4/+4
|
* Working test cases for the sophisticated matrix library example from the manualZahary Karadjov2017-03-241-19/+27
| | | | | Fixed the dot operator when used within return types (see tgenericdotrettype) Fixed the matching of generic concepts aliases used with the implicit generics style
* further improvements to the error messages produced by conceptsZahary Karadjov2017-03-241-2/+7
|
* proper error reporting for concepts and the introduction of the {.explain.} ↵Zahary Karadjov2017-03-241-13/+45
| | | | pragma
* implement the special treatment of explicit type params in conceptsZahary Karadjov2017-03-241-1/+3
|
* infer static parameters even when more complicated arithmetic is involvedZahary Karadjov2017-03-241-29/+114
|
* support derived values in non-generic user type classesZahary Karadjov2017-03-241-14/+6
|
* support for inferring static[T] concept paramsZahary Karadjov2017-03-241-21/+25
|
* introduce tyInferred for the unbound concept type paramsZahary Karadjov2017-03-241-71/+80
| | | | | | | | | | | | | | | | | | * Why is tyInferred needed? The bindings in TCandidate are capable of inferring types within a single call expression. In concepts, we need to infer types in the same way, but across the whole body of the concept. Previously, once a concept type param was inferred, it was destructively mutated using t.assignType, but this proved to be problematic in the presence of overloads, because the bindings established while a non-matching overload is tested must be reverted/forgotten. tyInferred offers a non-destructive way to keep track of the inference progress. While introducing new types usually requires a lot of code paths in the compiler to updated, currently tyInferred is only a short-lived type within the concept body pass and it's unlikely to introduce breakage elsewhere in the compiler.
* support the full range of type modifiers when declaring concept vars and ↵Zahary Karadjov2017-03-241-10/+21
| | | | testing proc signatures
* support for matching generic types' procs in generic conceptsZahary Karadjov2017-03-241-6/+36
|
* support for accessing types and consts defined in concepts with the dot operatorZahary Karadjov2017-03-241-12/+23
|
* support for accessing the inferred concept type params with the dot operatorZahary Karadjov2017-03-241-3/+14
|
* concept type params inference working in basic examplesZahary Karadjov2017-03-241-0/+38
|
* fixes #5241, fixes #5411 inherit from specialized generic typeRel problem ↵andri lim2017-03-231-10/+24
| | | | (#5573)
* fixes #4756 (#5557)zah2017-03-171-2/+6
|
* fix varargs forwarding for templates; fixes #5455 (#5505)zah2017-03-131-2/+2
| | | | | * fix varargs forwarding for templates; fixes #5455 * document the macros' varargs change in the news for 0.16.2
* Fixes #5167 and related problems (#5475)zah2017-03-121-0/+1
| | | | | | | | | This commit returns to a bit less strict checking of the number of macro arguments, because some old immediate macros rely on a behavior where even the arity of the macro is not being checked. It may be better if such macros are just declared to use varargs[expr], but this remains for another day.
* big compiler refactoring; avoid globals for multi method dispatcher generationAndreas Rumpf2017-02-221-3/+3
|
* Merge branch 'devel' into faster-nimsuggestAndreas Rumpf2017-02-171-0/+2
|\
| * fixes #5405Araq2017-02-161-0/+2
| |
* | improve error message for mismatched proc typesAndreas Rumpf2017-02-101-1/+1
|/
* alternative fix for #4884; fixes tlateboundstaticZahary Karadjov2017-01-111-1/+1
|
* fix #4884Zahary Karadjov2017-01-081-3/+4
|
* fixes #4519Andreas Rumpf2016-12-251-1/+1
|
* Merge branch 'devel' into sighashesAraq2016-12-191-1/+3
|\
| * fixes nimsuggest issue #41Araq2016-12-181-1/+3
| |
* | removed tyArrayConstr completely from the compiler; introduced tyAlias ↵Araq2016-11-141-15/+9
|/ | | | instead in preparation for further bugfixes
* remove remnants of tyIterJacek Sieka2016-10-241-11/+3
|
* fixes #4863Andreas Rumpf2016-10-191-4/+7
|
* failed attempt to fix a 'void' inference bugAraq2016-10-081-1/+6
|
* fixes #4626Andreas Rumpf2016-09-131-9/+4
|
* fixes #4673Andreas Rumpf2016-09-011-3/+22
|
* fixes #4672Andreas Rumpf2016-09-011-1/+1
|
* do not crash on #3928Andreas Rumpf2016-08-261-0/+1
|
* fixes #4292Andreas Rumpf2016-08-261-8/+1
|
* overloading resolution: scoping is considered after typing (needs to be ↵Andreas Rumpf2016-08-241-2/+3
| | | | documented)
* fixes #4589Andreas Rumpf2016-08-101-6/+6
|
* fixes #4528Andreas Rumpf2016-08-081-30/+37
|
* Allowing `nil` for distinct types where the base type is nilableHans Raaf2016-08-051-0/+2
|
* fixes #4545Andreas Rumpf2016-08-041-0/+7
|
* fixes #4537Andreas Rumpf2016-08-021-0/+2
|
* compiler almost free of deprecated expr/stmt namesAndreas Rumpf2016-07-301-2/+2
|
* stdlib and compiler don't use .immediate anymoreAndreas Rumpf2016-07-291-3/+3
|
* generic multi-methods should work nowAndreas Rumpf2016-07-281-3/+6
|
* fixes a varargs of untyped regressionAndreas Rumpf2016-07-241-0/+2
|
* fixes #888Andreas Rumpf2016-07-191-1/+2
|
* fixes #4328Andreas Rumpf2016-07-191-1/+4
|