Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | cleanup of in/out covariance handling | Andreas Rumpf | 2017-05-17 | 1 | -7/+5 |
| | |||||
* | enforce the covariance rules for user-defined generic types | Zahary Karadjov | 2017-05-13 | 1 | -6/+8 |
| | |||||
* | doh, forgot to add all files in the previous commit | Zahary Karadjov | 2017-05-12 | 1 | -1/+2 |
| | |||||
* | support for external types with covariant generic params | Zahary Karadjov | 2017-05-08 | 1 | -0/+4 |
| | |||||
* | lift parameter-less do block to lambdas | Zahary Karadjov | 2017-04-10 | 1 | -0/+1 |
| | |||||
* | fix the do notation when used with procs | Zahary Karadjov | 2017-04-09 | 1 | -0/+1 |
| | |||||
* | Restore the Nim's 0.14 proper handling of generic aliases | Zahary Karadjov | 2017-04-08 | 1 | -0/+3 |
| | | | | | | | | | | | 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 | ||||
* | proper error reporting for concepts and the introduction of the {.explain.} ↵ | Zahary Karadjov | 2017-03-24 | 1 | -0/+1 |
| | | | | pragma | ||||
* | implement the special treatment of explicit type params in concepts | Zahary Karadjov | 2017-03-24 | 1 | -0/+2 |
| | |||||
* | infer static parameters even when more complicated arithmetic is involved | Zahary Karadjov | 2017-03-24 | 1 | -1/+11 |
| | |||||
* | support derived values in non-generic user type classes | Zahary Karadjov | 2017-03-24 | 1 | -0/+3 |
| | |||||
* | support for inferring static[T] concept params | Zahary Karadjov | 2017-03-24 | 1 | -0/+4 |
| | |||||
* | introduce tyInferred for the unbound concept type params | Zahary Karadjov | 2017-03-24 | 1 | -11/+23 |
| | | | | | | | | | | | | | | | | | | * 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. | ||||
* | concept type params inference working in basic examples | Zahary Karadjov | 2017-03-24 | 1 | -0/+1 |
| | |||||
* | Merge branch 'devel' of github.com:nim-lang/Nim into devel | Araq | 2017-03-14 | 1 | -0/+2 |
|\ | |||||
| * | Merge branch 'devel' into faster-nimsuggest | Andreas Rumpf | 2017-03-14 | 1 | -0/+2 |
| |\ | |||||
| | * | Fixes #5167 and related problems (#5475) | zah | 2017-03-12 | 1 | -0/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. | ||||
| * | | nimsuggest: make tests green again | Araq | 2017-03-10 | 1 | -2/+2 |
| |/ | |||||
* / | fixes #5529; don't merge type visibility flags | Araq | 2017-03-14 | 1 | -3/+3 |
|/ | |||||
* | removed compiler internal list implementation (#5371) | Arne Döring | 2017-02-22 | 1 | -2/+4 |
| | |||||
* | fixes #5383 | Araq | 2017-02-16 | 1 | -2/+1 |
| | |||||
* | Merge branch 'devel' into feature/3691 | Dominik Picheta | 2017-02-07 | 1 | -1/+2 |
|\ | |||||
| * | fixes #5285 | Andreas Rumpf | 2017-02-04 | 1 | -1/+2 |
| | | |||||
* | | Fixes based on @Araq's feedback. | Dominik Picheta | 2017-02-01 | 1 | -1/+1 |
| | | |||||
* | | Fixes #3691. | Dominik Picheta | 2017-02-01 | 1 | -1/+10 |
| | | |||||
* | | WIP implementation of `except ExcType as ident` syntax. Refs #3691. | Dominik Picheta | 2017-02-01 | 1 | -0/+7 |
|/ | |||||
* | make tsigbreak.nim compile | Andreas Rumpf | 2016-12-12 | 1 | -1/+2 |
| | |||||
* | further progress | Araq | 2016-11-28 | 1 | -0/+2 |
| | |||||
* | removed tyArrayConstr completely from the compiler; introduced tyAlias ↵ | Araq | 2016-11-14 | 1 | -6/+6 |
| | | | | instead in preparation for further bugfixes | ||||
* | bootstrapping works again | Araq | 2016-11-12 | 1 | -4/+4 |
| | |||||
* | big refactoring: step 1 | Araq | 2016-10-31 | 1 | -10/+0 |
| | |||||
* | clean up tyMutable remnants | Jacek Sieka | 2016-10-24 | 1 | -3/+3 |
| | |||||
* | clean up tyConst remnants | Jacek Sieka | 2016-10-24 | 1 | -1/+1 |
| | |||||
* | clean up tyBigNum remnants | Jacek Sieka | 2016-10-24 | 1 | -2/+6 |
| | |||||
* | remove remnants of tyIter | Jacek Sieka | 2016-10-24 | 1 | -1/+1 |
| | |||||
* | fixes #4803 | Andreas Rumpf | 2016-09-24 | 1 | -0/+3 |
| | |||||
* | C++ backend: use .noInit pragma for non-public default constructors; refs #4687 | Andreas Rumpf | 2016-09-04 | 1 | -2/+2 |
| | |||||
* | Merged | Araq | 2016-08-27 | 1 | -27/+1 |
|\ | |||||
| * | fixes #3606 | Andreas Rumpf | 2016-08-26 | 1 | -1/+1 |
| | | |||||
| * | remove TLoc.heapRoot | Jacek Sieka | 2016-08-17 | 1 | -3/+0 |
| | | |||||
| * | remove unused stuff | Jacek Sieka | 2016-08-09 | 1 | -23/+0 |
| | | |||||
* | | next steps in getting symbol files to work again | Araq | 2016-08-16 | 1 | -7/+2 |
|/ | |||||
* | compiler almost free of deprecated expr/stmt names | Andreas Rumpf | 2016-07-30 | 1 | -3/+3 |
| | |||||
* | remove sfFakeConst | Jacek Sieka | 2016-07-30 | 1 | -1/+0 |
| | |||||
* | stdlib and compiler don't use .immediate anymore | Andreas Rumpf | 2016-07-29 | 1 | -0/+2 |
| | |||||
* | generic multi-methods should work now | Andreas Rumpf | 2016-07-28 | 1 | -0/+1 |
| | |||||
* | fixes #4485; package handling works better; docgen works with --project on ↵ | Andreas Rumpf | 2016-07-19 | 1 | -1/+1 |
| | | | | Nimble package level | ||||
* | added system.newSeqOfCap for improved efficiency | Andreas Rumpf | 2016-07-15 | 1 | -1/+1 |
| | |||||
* | make tests green again | Andreas Rumpf | 2016-07-10 | 1 | -1/+0 |
| | |||||
* | fixes #4371 | Andreas Rumpf | 2016-07-08 | 1 | -3/+4 |
| |