summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* fix affecting templates with explicit generic paramsZahary Karadjov2017-05-134-30/+23
|
* fix tinvalidinoutZahary Karadjov2017-05-132-7/+4
|
* attempt to fix a compilation problem caused by nimcacheZahary Karadjov2017-05-131-0/+0
|
* work-around for defining imported types with weak covarianceZahary Karadjov2017-05-132-4/+23
|
* enforce the covariance rules for user-defined generic typesZahary Karadjov2017-05-135-17/+105
|
* manual additions for the covariant generic parametersZahary Karadjov2017-05-121-2/+87
|
* explain covariance in the manualZahary Karadjov2017-05-121-0/+16
|
* covariance for arrays and sequencesZahary Karadjov2017-05-123-48/+245
|
* doh, forgot to add all files in the previous commitZahary Karadjov2017-05-124-15/+65
|
* covariance for generic importc typesZahary Karadjov2017-05-121-0/+253
|
* support for external types with covariant generic paramsZahary Karadjov2017-05-088-3/+62
|
* fix 5756Zahary Karadjov2017-04-302-1/+40
|
* close #5757Zahary Karadjov2017-04-302-3/+23
|
* close #5726Zahary Karadjov2017-04-281-2/+4
| | | | | | | | | | | | Turned out that the old code was wrong. I'm not sure why it used to work. `response.body` properly resolves to an async proc defined in the httpclient module with the following signature: proc body*(response: AsyncResponse): Future[string] {.async.} Perhaps the old code was somehow matching the body field of the `AsyncResponse` object, which is marked as private.
* hold back the new | operator for types as it creates mysterious problems fro ↵Zahary Karadjov2017-04-281-3/+0
| | | | tests/trmacros/tor
* alternative fake covariance based on convertersZahary Karadjov2017-04-282-3/+25
|
* more advanced fake covarianceZahary Karadjov2017-04-281-3/+48
|
* a simple way to simulate covariance in generic typesZahary Karadjov2017-04-282-1/+17
|
* Allow tyOr,tyAnd and tyNot to be constructed in more contextsZahary Karadjov2017-04-283-18/+53
|
* fix a regrsesion in signature matching of derived ptr typesZahary Karadjov2017-04-182-3/+25
|
* Restore the compilation of linalg by tweaking the complex disambiguation rulesZahary Karadjov2017-04-161-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 tmatrixconceptZahary Karadjov2017-04-161-0/+4
|
* more sophisticated test for the previous commitZahary Karadjov2017-04-161-2/+22
|
* fix compilation regression in aleaZahary Karadjov2017-04-164-12/+37
|
* fix a compilation error in linalgZahary Karadjov2017-04-162-25/+39
|
* fix #5689Zahary Karadjov2017-04-154-11/+82
|
* fix #5683Zahary Karadjov2017-04-143-6/+25
|
* fix a parsing regression (do is still mandatory in some situations)Zahary Karadjov2017-04-142-1/+20
|
* allow StmtLists to pass through semExprWithTypeZahary Karadjov2017-04-112-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.
* wipZahary Karadjov2017-04-111-4/+5
|
* lift parameter-less do block to lambdasZahary Karadjov2017-04-1010-26/+46
|
* support post expression blocks in return and yieldZahary Karadjov2017-04-102-3/+4
|
* fix a regression in tlexerexZahary Karadjov2017-04-102-16/+16
|
* adapt quote to the new parsing rulesZahary Karadjov2017-04-101-8/+11
|
* fix a parsing regression (calls with do inside param lists)Zahary Karadjov2017-04-102-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 Karadjov2017-04-102-78/+545
|
* the new blocks without 'do' produce compatible AST with 'do blocks'Zahary Karadjov2017-04-092-12/+10
|
* improve the usability of the jsffi moduleZahary Karadjov2017-04-092-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 procsZahary Karadjov2017-04-097-11/+59
|
* fix #5643; fix #5644Zahary Karadjov2017-04-084-7/+42
|
* Restore the Nim's 0.14 proper handling of generic aliasesZahary Karadjov2017-04-0812-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 #5640Zahary Karadjov2017-04-071-0/+6
|
* fix #5658Zahary Karadjov2017-04-073-4/+36
|
* fix #5654Zahary Karadjov2017-04-073-2/+47
|
* fix #5642Zahary Karadjov2017-04-074-3/+31
|
* fix #5648Zahary Karadjov2017-04-072-2/+25
|
* wip fix #5640Zahary Karadjov2017-04-072-1/+3
|
* Implement json.`%` for enums.Dominik Picheta2017-04-061-0/+5
|
* Add some extra methods and fields to DOM module.Dominik Picheta2017-04-061-0/+11
|
* Merge pull request #5564 from nim-lang/fix/4556zah2017-04-069-76/+455
|\ | | | | Fix/4556