summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 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
| * move the object construction logic to a separate fileZahary Karadjov2017-04-063-278/+294
| |
| * object construction: test cases and manual additionsZahary Karadjov2017-04-063-11/+133
| |
| * cleaned up the code and implemented proper error messagesZahary Karadjov2017-04-064-81/+207
| |
| * News items for previous commitZahary Karadjov2017-04-062-4/+10
| |
| * fix #4556Zahary Karadjov2017-04-062-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 nimsuggestAndreas Rumpf2017-04-062-2/+3
| |
* | Make nimsuggest quit when pressing Ctrl-D from the command line. (#5662)Arne Döring2017-04-061-0/+1
| |
* | parsecfg: handle streams and strings when saving or loading configuration ↵Anatoly Galiulin2017-04-062-79/+124
| | | | | | | | (#5554)
* | Update 'compiles' documentation to remove not (#5666)John Scillieri2017-04-051-1/+1
|/ | | Documentation for proc compiles showed a broken/unintuitive example (unless i missed something)
* fix another compiler regressionAndreas Rumpf2017-04-051-0/+4
|
* make tests green againAndreas Rumpf2017-04-042-2/+2
|
* Merge branch 'devel' into araqAndreas Rumpf2017-04-044-5/+22
|\
| * fixes #5638Araq2017-04-042-3/+19
| |
| * revert PR #5638 because it breaks codeAraq2017-04-041-2/+2
| |
| * fixup! support for the Genode OS framework (#5653)Emery Hemingway2017-04-022-1/+2
| | | | | | Allocate thread metadata at createThread.
* | attempt to make tests green againAndreas Rumpf2017-04-041-1/+2
| |
* | assignments support ': stmtList' like let/var doAndreas Rumpf2017-04-043-3/+10
| |
* | system.nim: make min/max take openArrays, not varargs (breaking change)Andreas Rumpf2017-04-041-2/+2
| |