Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Improved collection-to-string behavior (#6825) | Fabian Keller | 2017-12-14 | 1 | -2/+2 |
| | |||||
* | make tests green again | Andreas Rumpf | 2017-11-18 | 1 | -0/+1 |
| | |||||
* | Remove expr/stmt (#5857) | Arne Döring | 2017-07-25 | 4 | -5/+5 |
| | |||||
* | close #5106 | Zahary Karadjov | 2017-06-20 | 1 | -0/+61 |
| | |||||
* | close #5756 | Zahary Karadjov | 2017-06-20 | 1 | -0/+30 |
| | |||||
* | fix #5864 | Zahary Karadjov | 2017-06-20 | 1 | -0/+14 |
| | |||||
* | Fix #5962 | Zahary Karadjov | 2017-06-20 | 1 | -0/+81 |
| | | | | | | | | | | | | | | | 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 | -0/+17 |
| | |||||
* | fix 5756 | Zahary Karadjov | 2017-04-30 | 1 | -0/+39 |
| | |||||
* | alternative fake covariance based on converters | Zahary Karadjov | 2017-04-28 | 2 | -3/+25 |
| | |||||
* | more advanced fake covariance | Zahary Karadjov | 2017-04-28 | 1 | -3/+48 |
| | |||||
* | a simple way to simulate covariance in generic types | Zahary Karadjov | 2017-04-28 | 1 | -0/+11 |
| | |||||
* | fix a regrsesion in signature matching of derived ptr types | Zahary Karadjov | 2017-04-18 | 1 | -0/+20 |
| | |||||
* | fix a compilation error in linalg | Zahary Karadjov | 2017-04-16 | 1 | -0/+16 |
| | |||||
* | fix #5689 | Zahary Karadjov | 2017-04-15 | 1 | -0/+68 |
| | |||||
* | fix #5683 | Zahary Karadjov | 2017-04-14 | 1 | -0/+15 |
| | |||||
* | fix #5643; fix #5644 | Zahary Karadjov | 2017-04-08 | 1 | -0/+30 |
| | |||||
* | Restore the Nim's 0.14 proper handling of generic aliases | Zahary Karadjov | 2017-04-08 | 4 | -0/+101 |
| | | | | | | | | | | | 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 | ||||
* | attempt to fix #5632 typedesc typeRel regression (#5634) | andri lim | 2017-03-31 | 1 | -0/+12 |
| | |||||
* | attempt to fix #5621 #5615 generic ref object typeRel (#5633) | andri lim | 2017-03-31 | 1 | -0/+42 |
| | |||||
* | Working test cases for the sophisticated matrix library example from the manual | Zahary Karadjov | 2017-03-24 | 1 | -0/+29 |
| | | | | | Fixed the dot operator when used within return types (see tgenericdotrettype) Fixed the matching of generic concepts aliases used with the implicit generics style | ||||
* | fixes #5597; wrong eager template instantiation in generic context (#5601) | Andreas Rumpf | 2017-03-24 | 1 | -0/+13 |
| | |||||
* | fixes #5241, fixes #5411 inherit from specialized generic typeRel problem ↵ | andri lim | 2017-03-23 | 1 | -0/+65 |
| | | | | (#5573) | ||||
* | Fix generic forward declarations; fixes #4104; fixes #4908 (#5566) | zah | 2017-03-23 | 2 | -10/+24 |
| | |||||
* | Correct the spelling of the word 'overridden'. (#5212) | mfxmfx | 2017-01-11 | 1 | -3/+3 |
| | |||||
* | fix #4884 | Zahary Karadjov | 2017-01-08 | 1 | -0/+11 |
| | |||||
* | further progress; more tests are green | Araq | 2016-11-28 | 1 | -1/+1 |
| | |||||
* | fixes #4863 | Andreas Rumpf | 2016-10-19 | 1 | -0/+20 |
| | |||||
* | fixes #4672 | Andreas Rumpf | 2016-09-01 | 1 | -0/+12 |
| | |||||
* | fixes #4658 | Andreas Rumpf | 2016-08-26 | 1 | -0/+13 |
| | |||||
* | fixes #4600 | Andreas Rumpf | 2016-08-23 | 1 | -0/+8 |
| | |||||
* | fixes #4589 | Andreas Rumpf | 2016-08-10 | 1 | -0/+7 |
| | |||||
* | fixes #4528 | Andreas Rumpf | 2016-08-08 | 1 | -0/+8 |
| | |||||
* | make tests green again | Andreas Rumpf | 2016-08-01 | 1 | -1/+1 |
| | |||||
* | fixes #3055 | Andreas Rumpf | 2016-07-08 | 1 | -0/+28 |
| | |||||
* | Fix generics inheritance issues | Anatoly Galiulin | 2016-06-23 | 1 | -0/+25 |
| | |||||
* | Merge branch 'patch/fix-3496-generic-tmpl-args' of ↵ | Andreas Rumpf | 2016-05-29 | 1 | -0/+31 |
|\ | | | | | | | https://github.com/nanoant/Nim into nanoant-patch/fix-3496-generic-tmpl-args | ||||
| * | fixes #3496 | Adam Strzelecki | 2015-10-29 | 1 | -0/+31 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem comes from the fact that macroOrTmpl[...] is transformed by semSubscript which is trying to evaluate macroOrTmpl identifier in place. This is okay for non-generic macros or templates, but wrong for generic ones, that do not have a chance to receive their generic arguments explicitly specified in brackets. Solution: 1. macroOrTmpl[...] where macroOrTmpl is non-generic macro or template, then macroOrTmpl is evaluated before applying brackets. (as before) 2. macroOrTmpl[...] where macroOrTmpl is generic macro or template, then if: a. It comes from macroOrTmpl[...](...) call expr (efInCall), then macroOrTmpl is turned into a symbol (efNoEvaluate) rather than evaluating it in place, then whole bracket expr is returned to semIndirectOp which transforms it to proper generic macro or template call with explicit generic arguments. b. macroOrTmpl[...] does not come from call expr, as above macroOrTmpl is transformed to symbol, then it is transformed into proper generic macro or template call with explicit generic arguments and no normal arguments. | ||||
* | | fixes #4084 | Andreas Rumpf | 2016-04-29 | 1 | -0/+16 |
| | | |||||
* | | fixes #3998 | Andreas Rumpf | 2016-03-28 | 1 | -0/+19 |
| | | |||||
* | | fixes #3669 | Andreas Rumpf | 2016-03-01 | 1 | -0/+13 |
| | | |||||
* | | use 'using' instead of 'sig' keyword; cleans up new features a bit | Andreas Rumpf | 2016-02-29 | 3 | -5/+5 |
| | | |||||
* | | Fix a few deprecation warnings | def | 2016-01-25 | 1 | -5/+5 |
| | | |||||
* | | makes tests green | Andreas Rumpf | 2016-01-15 | 1 | -17/+17 |
| | | |||||
* | | Merge branch 'devel' into new-ll | Andreas Rumpf | 2016-01-14 | 1 | -8/+17 |
|\ \ | |||||
| * | | fixes #3498 | Adam Strzelecki | 2015-10-30 | 1 | -8/+17 |
| |/ | | | | | | | | | | | | | | | | | Previously it was not possible to use template arguments in template body as the symbols were not resolved correctly leading to Error: undeclared identifier: 'XX', eg.: template defaultOf[T](t: T): expr = (var d: T; d) echo defaultOf(1) #<- invalid identifier, but should output 0 | ||||
* / | fixes another regression | Andreas Rumpf | 2016-01-13 | 1 | -0/+17 |
|/ | |||||
* | fixes #3476 | Araq | 2015-10-27 | 1 | -0/+48 |
| | |||||
* | sequtils related changes | Peter Mora | 2015-10-05 | 2 | -1/+2 |
| | |||||
* | fixing TypelessParam warning in x=>x+1, added test | Peter Mora | 2015-09-22 | 1 | -0/+13 |
| |