Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | fix #2730; fix #4880 | Zahary Karadjov | 2017-06-20 | 1 | -1/+2 |
| | |||||
* | Fix #5962 | Zahary Karadjov | 2017-06-20 | 1 | -13/+44 |
| | | | | | | | | | | | | | | | During the instantiation of a generic type A, some other generic type B may be instantiated multiple times with different parameters. We can think about each instantiation as a function call that should temporary bind the parameter names to concrete types. The problem with the existing implementation in semtypinst was that it was performing this binding within a shared global table. In this sense, it was executing the code as a programming language featuring only global variables. In such a language, re-entrant functions cannot be defined properly and hence this was leading to problems with similar types. The solution is simple - just like we need to introduce stack frames to handle re-entrant functions, we introduce a stack of type bindings that are pushed and popped during the generic instantiations. | ||||
* | fixes tproctypecache_falsepositive.nim test case | Araq | 2017-06-08 | 1 | -2/+3 |
| | |||||
* | fix #5683 | Zahary Karadjov | 2017-04-14 | 1 | -0/+1 |
| | |||||
* | fix #5643; fix #5644 | Zahary Karadjov | 2017-04-08 | 1 | -2/+6 |
| | |||||
* | Restore the Nim's 0.14 proper handling of generic aliases | Zahary Karadjov | 2017-04-08 | 1 | -25/+34 |
| | | | | | | | | | | | 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 | ||||
* | wip fix #5640 | Zahary Karadjov | 2017-04-07 | 1 | -1/+1 |
| | |||||
* | attempt to fix #5621 #5615 generic ref object typeRel (#5633) | andri lim | 2017-03-31 | 1 | -1/+1 |
| | |||||
* | Working test cases for the sophisticated matrix library example from the manual | Zahary Karadjov | 2017-03-24 | 1 | -0/+2 |
| | | | | | Fixed the dot operator when used within return types (see tgenericdotrettype) Fixed the matching of generic concepts aliases used with the implicit generics style | ||||
* | proper error reporting for concepts and the introduction of the {.explain.} ↵ | Zahary Karadjov | 2017-03-24 | 1 | -1/+1 |
| | | | | pragma | ||||
* | infer static parameters even when more complicated arithmetic is involved | Zahary Karadjov | 2017-03-24 | 1 | -2/+3 |
| | |||||
* | support for inferring static[T] concept params | Zahary Karadjov | 2017-03-24 | 1 | -0/+1 |
| | |||||
* | support for accessing the inferred concept type params with the dot operator | Zahary Karadjov | 2017-03-24 | 1 | -1/+1 |
| | |||||
* | avoid some compiler crashes in debug mode | Andreas Rumpf | 2017-01-23 | 1 | -1/+3 |
| | |||||
* | make tsigbreak.nim compile | Andreas Rumpf | 2016-12-12 | 1 | -3/+8 |
| | |||||
* | further progress | Araq | 2016-11-28 | 1 | -0/+3 |
| | |||||
* | removed tyArrayConstr completely from the compiler; introduced tyAlias ↵ | Araq | 2016-11-14 | 1 | -1/+1 |
| | | | | instead in preparation for further bugfixes | ||||
* | fixes #4677 properly | Andreas Rumpf | 2016-09-03 | 1 | -6/+7 |
| | |||||
* | fixes #4677 | Andreas Rumpf | 2016-09-03 | 1 | -1/+2 |
| | |||||
* | compiler almost free of deprecated expr/stmt names | Andreas Rumpf | 2016-07-30 | 1 | -1/+1 |
| | |||||
* | generic multi-methods should work now | Andreas Rumpf | 2016-07-28 | 1 | -3/+10 |
| | |||||
* | fixes #4371 | Andreas Rumpf | 2016-07-08 | 1 | -4/+4 |
| | |||||
* | fixes #3669 | Andreas Rumpf | 2016-03-01 | 1 | -8/+8 |
| | |||||
* | added 'sig' feature; removed tfShared support in the compiler | Andreas Rumpf | 2016-02-28 | 1 | -13/+0 |
| | |||||
* | Consistently use Channel instead of TChannel | def | 2016-02-25 | 1 | -1/+1 |
| | |||||
* | removes 'x is iterator' special casing in the language | Araq | 2015-12-03 | 1 | -2/+2 |
| | |||||
* | fixes #3338 | Araq | 2015-10-22 | 1 | -2/+6 |
| | |||||
* | fixes #3329 | Araq | 2015-09-18 | 1 | -4/+19 |
| | |||||
* | fixes #3112 | Araq | 2015-07-14 | 1 | -4/+16 |
| | |||||
* | fixes #2540 | Araq | 2015-07-03 | 1 | -2/+8 |
| | |||||
* | fixes #2505, fixes #1853, fixes #2522 | Araq | 2015-04-20 | 1 | -1/+3 |
| | |||||
* | fixes #2509 | Araq | 2015-04-11 | 1 | -0/+8 |
| | |||||
* | first implementation of overloading of '='; missing: rewriting let/var sections | Araq | 2015-04-06 | 1 | -3/+9 |
| | |||||
* | fixes #1783 | Araq | 2015-03-23 | 1 | -1/+5 |
| | |||||
* | fixes #2346 | Araq | 2015-03-16 | 1 | -26/+27 |
| | |||||
* | .n.isNil checks for tyTuple PTypes. | Max Zerzouri | 2015-03-07 | 1 | -0/+2 |
| | |||||
* | fixes #2169 | Araq | 2015-02-28 | 1 | -2/+1 |
| | |||||
* | fixes #2216 | Araq | 2015-02-26 | 1 | -4/+4 |
| | |||||
* | tsigtypeop.nim works again | Araq | 2015-02-25 | 1 | -0/+1 |
| | |||||
* | fixes #2125 | Araq | 2015-02-18 | 1 | -1/+1 |
| | |||||
* | Fix typos | Federico Ceratto | 2015-02-15 | 1 | -7/+7 |
| | |||||
* | nimsuggest: first version | Araq | 2015-01-27 | 1 | -1/+0 |
| | |||||
* | Happy new year! | Guillaume Gelin | 2015-01-06 | 1 | -1/+1 |
| | |||||
* | fixes #1187 | Araq | 2014-12-19 | 1 | -2/+3 |
| | |||||
* | fixes #1687 | Araq | 2014-11-30 | 1 | -1/+1 |
| | |||||
* | fixes #1562, fixes #1543 | Araq | 2014-11-20 | 1 | -0/+2 |
| | |||||
* | implemented locking levels; still incomplete | Araq | 2014-09-27 | 1 | -7/+0 |
| | |||||
* | deepCopy is instantiated when its corresponding type is instantiated | Araq | 2014-09-26 | 1 | -0/+12 |
| | |||||
* | mostly fixes #1339 | Zahary Karadjov | 2014-09-05 | 1 | -2/+6 |
| | | | | | | | | | | | The compiler hangs were caused by the interaction of tyError and the instantiation caches. For procs, the cache wasn't able to find previously compiled proc featuring tyError in the signature. For types, the unresolved type parameters leading to tyError were not replaced everywhere leading to endless replaceTypeVarsT recursion for cyclic types. The fix is still not perfect, because the handling of tyError in other places in the compiler doesn't seem to be complete and the first test case now results in internal error (still, much better than a hang blocking your IDE). | ||||
* | big rename | Araq | 2014-08-27 | 1 | -1/+1 |
| |