Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | initial version of the new untested destructor pass | Andreas Rumpf | 2017-10-12 | 1 | -1/+5 |
| | |||||
* | further preparations for 'opt' builtin type | Andreas Rumpf | 2017-10-09 | 1 | -2/+2 |
| | |||||
* | first steps of making 'opt' a first class type for Nim | Andreas Rumpf | 2017-09-25 | 1 | -1/+1 |
| | |||||
* | some work to make 'opt' a first class type | Andreas Rumpf | 2017-09-24 | 1 | -9/+3 |
| | |||||
* | first implementation of the 'func' keyword | Andreas Rumpf | 2017-09-23 | 1 | -5/+8 |
| | |||||
* | Merge branch 'devel' into araq-better-codegen | Andreas Rumpf | 2017-09-23 | 1 | -1/+1 |
|\ | |||||
| * | NimScript: added buildOS and buildCPU constants | Andreas Rumpf | 2017-09-22 | 1 | -1/+1 |
| | | |||||
* | | fixes #6403 | Andreas Rumpf | 2017-09-21 | 1 | -2/+1 |
| | | |||||
* | | refactoring: TLoc knows the node it originated from; it is planned to use ↵ | Andreas Rumpf | 2017-09-21 | 1 | -3/+2 |
| | | | | | | | | this to produce better C code (move optimizations) | ||||
* | | introduce OnHeapNew and rename TLoc.s to TLoc.storage | Andreas Rumpf | 2017-09-21 | 1 | -3/+4 |
|/ | |||||
* | Fix operations on string as openarray in VM. (#6257) | Parashurama | 2017-09-15 | 1 | -0/+6 |
| | | | | | | | | | | * fix openarray.len for string as openArray in VM. * fix openarray[idx] for string as openArray in VM. * fix openarray[idx]=val for string as openArray in VM. * add tests for passing string as openArray in VM. * fix issue with NimNode.len NimNode.len was also returning len for string literals. also fix logic bug in if/elif chain. | ||||
* | distinguish between 'reorder' and 'noforward' | Andreas Rumpf | 2017-07-26 | 1 | -0/+2 |
| | |||||
* | Fix #4020; Better handling of templates within concepts | Zahary Karadjov | 2017-06-20 | 1 | -1/+3 |
| | |||||
* | 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 |
| |