Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | attempt to fix #5632 typedesc typeRel regression (#5634) | andri lim | 2017-03-31 | 1 | -1/+1 |
| | |||||
* | requested code review changes | Zahary Karadjov | 2017-03-29 | 1 | -12/+12 |
| | |||||
* | restore compilation and make all concepts tests green | Zahary Karadjov | 2017-03-24 | 1 | -4/+4 |
| | |||||
* | Working test cases for the sophisticated matrix library example from the manual | Zahary Karadjov | 2017-03-24 | 1 | -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 concepts | Zahary Karadjov | 2017-03-24 | 1 | -2/+7 |
| | |||||
* | proper error reporting for concepts and the introduction of the {.explain.} ↵ | Zahary Karadjov | 2017-03-24 | 1 | -13/+45 |
| | | | | pragma | ||||
* | implement the special treatment of explicit type params in concepts | Zahary Karadjov | 2017-03-24 | 1 | -1/+3 |
| | |||||
* | infer static parameters even when more complicated arithmetic is involved | Zahary Karadjov | 2017-03-24 | 1 | -29/+114 |
| | |||||
* | support derived values in non-generic user type classes | Zahary Karadjov | 2017-03-24 | 1 | -14/+6 |
| | |||||
* | support for inferring static[T] concept params | Zahary Karadjov | 2017-03-24 | 1 | -21/+25 |
| | |||||
* | introduce tyInferred for the unbound concept type params | Zahary Karadjov | 2017-03-24 | 1 | -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 Karadjov | 2017-03-24 | 1 | -10/+21 |
| | | | | testing proc signatures | ||||
* | support for matching generic types' procs in generic concepts | Zahary Karadjov | 2017-03-24 | 1 | -6/+36 |
| | |||||
* | support for accessing types and consts defined in concepts with the dot operator | Zahary Karadjov | 2017-03-24 | 1 | -12/+23 |
| | |||||
* | support for accessing the inferred concept type params with the dot operator | Zahary Karadjov | 2017-03-24 | 1 | -3/+14 |
| | |||||
* | concept type params inference working in basic examples | Zahary Karadjov | 2017-03-24 | 1 | -0/+38 |
| | |||||
* | fixes #5241, fixes #5411 inherit from specialized generic typeRel problem ↵ | andri lim | 2017-03-23 | 1 | -10/+24 |
| | | | | (#5573) | ||||
* | fixes #4756 (#5557) | zah | 2017-03-17 | 1 | -2/+6 |
| | |||||
* | fix varargs forwarding for templates; fixes #5455 (#5505) | zah | 2017-03-13 | 1 | -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) | zah | 2017-03-12 | 1 | -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 generation | Andreas Rumpf | 2017-02-22 | 1 | -3/+3 |
| | |||||
* | Merge branch 'devel' into faster-nimsuggest | Andreas Rumpf | 2017-02-17 | 1 | -0/+2 |
|\ | |||||
| * | fixes #5405 | Araq | 2017-02-16 | 1 | -0/+2 |
| | | |||||
* | | improve error message for mismatched proc types | Andreas Rumpf | 2017-02-10 | 1 | -1/+1 |
|/ | |||||
* | alternative fix for #4884; fixes tlateboundstatic | Zahary Karadjov | 2017-01-11 | 1 | -1/+1 |
| | |||||
* | fix #4884 | Zahary Karadjov | 2017-01-08 | 1 | -3/+4 |
| | |||||
* | fixes #4519 | Andreas Rumpf | 2016-12-25 | 1 | -1/+1 |
| | |||||
* | Merge branch 'devel' into sighashes | Araq | 2016-12-19 | 1 | -1/+3 |
|\ | |||||
| * | fixes nimsuggest issue #41 | Araq | 2016-12-18 | 1 | -1/+3 |
| | | |||||
* | | removed tyArrayConstr completely from the compiler; introduced tyAlias ↵ | Araq | 2016-11-14 | 1 | -15/+9 |
|/ | | | | instead in preparation for further bugfixes | ||||
* | remove remnants of tyIter | Jacek Sieka | 2016-10-24 | 1 | -11/+3 |
| | |||||
* | fixes #4863 | Andreas Rumpf | 2016-10-19 | 1 | -4/+7 |
| | |||||
* | failed attempt to fix a 'void' inference bug | Araq | 2016-10-08 | 1 | -1/+6 |
| | |||||
* | fixes #4626 | Andreas Rumpf | 2016-09-13 | 1 | -9/+4 |
| | |||||
* | fixes #4673 | Andreas Rumpf | 2016-09-01 | 1 | -3/+22 |
| | |||||
* | fixes #4672 | Andreas Rumpf | 2016-09-01 | 1 | -1/+1 |
| | |||||
* | do not crash on #3928 | Andreas Rumpf | 2016-08-26 | 1 | -0/+1 |
| | |||||
* | fixes #4292 | Andreas Rumpf | 2016-08-26 | 1 | -8/+1 |
| | |||||
* | overloading resolution: scoping is considered after typing (needs to be ↵ | Andreas Rumpf | 2016-08-24 | 1 | -2/+3 |
| | | | | documented) | ||||
* | fixes #4589 | Andreas Rumpf | 2016-08-10 | 1 | -6/+6 |
| | |||||
* | fixes #4528 | Andreas Rumpf | 2016-08-08 | 1 | -30/+37 |
| | |||||
* | Allowing `nil` for distinct types where the base type is nilable | Hans Raaf | 2016-08-05 | 1 | -0/+2 |
| | |||||
* | fixes #4545 | Andreas Rumpf | 2016-08-04 | 1 | -0/+7 |
| | |||||
* | fixes #4537 | Andreas Rumpf | 2016-08-02 | 1 | -0/+2 |
| | |||||
* | compiler almost free of deprecated expr/stmt names | Andreas Rumpf | 2016-07-30 | 1 | -2/+2 |
| | |||||
* | stdlib and compiler don't use .immediate anymore | Andreas Rumpf | 2016-07-29 | 1 | -3/+3 |
| | |||||
* | generic multi-methods should work now | Andreas Rumpf | 2016-07-28 | 1 | -3/+6 |
| | |||||
* | fixes a varargs of untyped regression | Andreas Rumpf | 2016-07-24 | 1 | -0/+2 |
| | |||||
* | fixes #888 | Andreas Rumpf | 2016-07-19 | 1 | -1/+2 |
| | |||||
* | fixes #4328 | Andreas Rumpf | 2016-07-19 | 1 | -1/+4 |
| |