Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Allow tyOr,tyAnd and tyNot to be constructed in more contexts | Zahary Karadjov | 2017-04-28 | 3 | -18/+53 |
| | |||||
* | fix a regrsesion in signature matching of derived ptr types | Zahary Karadjov | 2017-04-18 | 2 | -3/+25 |
| | |||||
* | Restore the compilation of linalg by tweaking the complex disambiguation rules | Zahary Karadjov | 2017-04-16 | 1 | -10/+18 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit is a potentially breaking change, but the problem was that linalg was relying on a previous bug in the compiler, which was fixed in the concepts branch. With the old disambiguation rules, generic procs like: proc \`==\`[T](lhs, rhs: T) and proc \`==\`(lhs, rhs: Matrix32|Matrix64) .. were considered equal, even though it's obvious that the second one should be preferred. We never noticed this, because there was a bug in sigmatch incorrectly counting one of the params of the second proc as a non-generic match, thus giving it an edge. This commit gives some preference to tyOr and tyAnd during the complex disambiguation, which may affect overload resolution in other cases. I see this only as a temporary solution. With my upcoming work on concept refinement, I plan to provide an experimental implementation of alaternative C++-like rules for determining which proc is more specific. We can then discuss our strategy for dealing with such a breaking change. | ||||
* | fix regression in tmatrixconcept | Zahary Karadjov | 2017-04-16 | 1 | -0/+4 |
| | |||||
* | more sophisticated test for the previous commit | Zahary Karadjov | 2017-04-16 | 1 | -2/+22 |
| | |||||
* | fix compilation regression in alea | Zahary Karadjov | 2017-04-16 | 4 | -12/+37 |
| | |||||
* | fix a compilation error in linalg | Zahary Karadjov | 2017-04-16 | 2 | -25/+39 |
| | |||||
* | fix #5689 | Zahary Karadjov | 2017-04-15 | 4 | -11/+82 |
| | |||||
* | fix #5683 | Zahary Karadjov | 2017-04-14 | 3 | -6/+25 |
| | |||||
* | fix a parsing regression (do is still mandatory in some situations) | Zahary Karadjov | 2017-04-14 | 2 | -1/+20 |
| | |||||
* | allow StmtLists to pass through semExprWithType | Zahary Karadjov | 2017-04-11 | 2 | -5/+8 |
| | | | | | | This fix was necessary in order to fix the lambda lifting used in the "jsffi" module, which relies on turning nkStmtList into nkLambda in a catch-all dot operator. | ||||
* | wip | Zahary Karadjov | 2017-04-11 | 1 | -4/+5 |
| | |||||
* | lift parameter-less do block to lambdas | Zahary Karadjov | 2017-04-10 | 10 | -26/+46 |
| | |||||
* | support post expression blocks in return and yield | Zahary Karadjov | 2017-04-10 | 2 | -3/+4 |
| | |||||
* | fix a regression in tlexerex | Zahary Karadjov | 2017-04-10 | 2 | -16/+16 |
| | |||||
* | adapt quote to the new parsing rules | Zahary Karadjov | 2017-04-10 | 1 | -8/+11 |
| | |||||
* | fix a parsing regression (calls with do inside param lists) | Zahary Karadjov | 2017-04-10 | 2 | -2/+24 |
| | | | | | This treatment is applied only when "do" is used, because the code foo(x: bar) is recognized as object construction. | ||||
* | fully consisent parsing between the new and the old 'do blocks' | Zahary Karadjov | 2017-04-10 | 2 | -78/+545 |
| | |||||
* | the new blocks without 'do' produce compatible AST with 'do blocks' | Zahary Karadjov | 2017-04-09 | 2 | -12/+10 |
| | |||||
* | improve the usability of the jsffi module | Zahary Karadjov | 2017-04-09 | 2 | -10/+104 |
| | | | | | | * All JavaScript operators are usable with JsObject * The dot operators will use native JavaScript strings * Results returned from dot calls are consired discardable | ||||
* | fix the do notation when used with procs | Zahary Karadjov | 2017-04-09 | 7 | -11/+59 |
| | |||||
* | fix #5643; fix #5644 | Zahary Karadjov | 2017-04-08 | 4 | -7/+42 |
| | |||||
* | Restore the Nim's 0.14 proper handling of generic aliases | Zahary Karadjov | 2017-04-08 | 12 | -55/+236 |
| | | | | | | | | | | | 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 | ||||
* | test case for #5640 | Zahary Karadjov | 2017-04-07 | 1 | -0/+6 |
| | |||||
* | fix #5658 | Zahary Karadjov | 2017-04-07 | 3 | -4/+36 |
| | |||||
* | fix #5654 | Zahary Karadjov | 2017-04-07 | 3 | -2/+47 |
| | |||||
* | fix #5642 | Zahary Karadjov | 2017-04-07 | 4 | -3/+31 |
| | |||||
* | fix #5648 | Zahary Karadjov | 2017-04-07 | 2 | -2/+25 |
| | |||||
* | wip fix #5640 | Zahary Karadjov | 2017-04-07 | 2 | -1/+3 |
| | |||||
* | Implement json.`%` for enums. | Dominik Picheta | 2017-04-06 | 1 | -0/+5 |
| | |||||
* | Add some extra methods and fields to DOM module. | Dominik Picheta | 2017-04-06 | 1 | -0/+11 |
| | |||||
* | Merge pull request #5564 from nim-lang/fix/4556 | zah | 2017-04-06 | 9 | -76/+455 |
|\ | | | | | Fix/4556 | ||||
| * | move the object construction logic to a separate file | Zahary Karadjov | 2017-04-06 | 3 | -278/+294 |
| | | |||||
| * | object construction: test cases and manual additions | Zahary Karadjov | 2017-04-06 | 3 | -11/+133 |
| | | |||||
| * | cleaned up the code and implemented proper error messages | Zahary Karadjov | 2017-04-06 | 4 | -81/+207 |
| | | |||||
| * | News items for previous commit | Zahary Karadjov | 2017-04-06 | 2 | -4/+10 |
| | | |||||
| * | fix #4556 | Zahary Karadjov | 2017-04-06 | 2 | -56/+165 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements a number of new safety checks and error messages when object constructors are used: In case objects: * the compiler will prevent you from initializing fields in conflicting branches * When a field from a particular branch is initialized, the compiler will demand that the discriminator field is also supplied with a maching compile-time value In all objects: * When the "requiresInit" pragma is applied to a type, all fields of the type must be initialized when object construction is used. The code will be simplified in a follow up commit. | ||||
* | | minor update for nimsuggest | Andreas Rumpf | 2017-04-06 | 2 | -2/+3 |
| | | |||||
* | | Make nimsuggest quit when pressing Ctrl-D from the command line. (#5662) | Arne Döring | 2017-04-06 | 1 | -0/+1 |
| | | |||||
* | | parsecfg: handle streams and strings when saving or loading configuration ↵ | Anatoly Galiulin | 2017-04-06 | 2 | -79/+124 |
| | | | | | | | | (#5554) | ||||
* | | Update 'compiles' documentation to remove not (#5666) | John Scillieri | 2017-04-05 | 1 | -1/+1 |
|/ | | | Documentation for proc compiles showed a broken/unintuitive example (unless i missed something) | ||||
* | fix another compiler regression | Andreas Rumpf | 2017-04-05 | 1 | -0/+4 |
| | |||||
* | make tests green again | Andreas Rumpf | 2017-04-04 | 2 | -2/+2 |
| | |||||
* | Merge branch 'devel' into araq | Andreas Rumpf | 2017-04-04 | 4 | -5/+22 |
|\ | |||||
| * | fixes #5638 | Araq | 2017-04-04 | 2 | -3/+19 |
| | | |||||
| * | revert PR #5638 because it breaks code | Araq | 2017-04-04 | 1 | -2/+2 |
| | | |||||
| * | fixup! support for the Genode OS framework (#5653) | Emery Hemingway | 2017-04-02 | 2 | -1/+2 |
| | | | | | | Allocate thread metadata at createThread. | ||||
* | | attempt to make tests green again | Andreas Rumpf | 2017-04-04 | 1 | -1/+2 |
| | | |||||
* | | assignments support ': stmtList' like let/var do | Andreas Rumpf | 2017-04-04 | 3 | -3/+10 |
| | | |||||
* | | system.nim: make min/max take openArrays, not varargs (breaking change) | Andreas Rumpf | 2017-04-04 | 1 | -2/+2 |
| | |