Commit Graph

10619 Commits

Author SHA1 Message Date
Zahary Karadjov
dfbafff2e7 fix a compilation error in linalg 2017-04-16 02:44:58 +03:00
Zahary Karadjov
bf4ce87e5b fix #5689 2017-04-15 02:53:28 +03:00
Zahary Karadjov
d578815963 fix #5683 2017-04-14 23:54:09 +03:00
Zahary Karadjov
8de19a7f4c fix a parsing regression (do is still mandatory in some situations) 2017-04-14 23:48:43 +03:00
Zahary Karadjov
03770daba4 allow StmtLists to pass through semExprWithType
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.
2017-04-11 02:22:13 +03:00
Zahary Karadjov
54a1d9c16a wip 2017-04-11 00:48:52 +03:00
Zahary Karadjov
a3f19c87fb lift parameter-less do block to lambdas 2017-04-10 23:58:05 +03:00
Zahary Karadjov
f7b10e213b support post expression blocks in return and yield 2017-04-10 17:26:50 +03:00
Zahary Karadjov
8b63b84924 fix a regression in tlexerex 2017-04-10 13:06:06 +03:00
Zahary Karadjov
8cb11aac4f adapt quote to the new parsing rules 2017-04-10 12:23:04 +03:00
Zahary Karadjov
e7eb01ed48 fix a parsing regression (calls with do inside param lists)
This treatment is applied only when "do" is used, because
the code foo(x: bar) is recognized as object construction.
2017-04-10 12:08:40 +03:00
Zahary Karadjov
9ffaee3f88 fully consisent parsing between the new and the old 'do blocks' 2017-04-10 11:44:02 +03:00
Zahary Karadjov
34b2527441 the new blocks without 'do' produce compatible AST with 'do blocks' 2017-04-09 23:45:52 +03:00
Zahary Karadjov
48a1a54d1c improve the usability of the jsffi module
* All JavaScript operators are usable with JsObject
* The dot operators will use native JavaScript strings
* Results returned from dot calls are consired discardable
2017-04-09 23:04:55 +03:00
Zahary Karadjov
987b522071 fix the do notation when used with procs 2017-04-09 22:59:24 +03:00
Zahary Karadjov
03172bef6f fix #5643; fix #5644 2017-04-08 23:42:42 +03:00
Zahary Karadjov
e9a3ffbc3d Restore the Nim's 0.14 proper handling of generic aliases
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
2017-04-08 17:28:19 +03:00
Zahary Karadjov
fceef77301 test case for #5640 2017-04-07 21:57:04 +03:00
Zahary Karadjov
0b7321651e fix #5658 2017-04-07 21:53:27 +03:00
Zahary Karadjov
e11b3520ff fix #5654 2017-04-07 19:35:05 +03:00
Zahary Karadjov
fb3ff64450 fix #5642 2017-04-07 19:28:52 +03:00
Zahary Karadjov
eb635d9ccf fix #5648 2017-04-07 17:03:49 +03:00
Zahary Karadjov
ee4b98ec17 wip fix #5640 2017-04-07 15:05:14 +03:00
Dominik Picheta
cdfcc12529 Implement json.% for enums. 2017-04-06 21:56:20 +02:00
Dominik Picheta
28f3b3d3a7 Add some extra methods and fields to DOM module. 2017-04-06 21:16:17 +02:00
zah
0c694d2064 Merge pull request #5564 from nim-lang/fix/4556
Fix/4556
2017-04-06 11:25:19 +03:00
Andreas Rumpf
ab3f22fce1 minor update for nimsuggest 2017-04-06 08:53:31 +02:00
Arne Döring
3d4f68c822 Make nimsuggest quit when pressing Ctrl-D from the command line. (#5662) 2017-04-06 08:16:26 +02:00
Anatoly Galiulin
3374bcb373 parsecfg: handle streams and strings when saving or loading configuration (#5554) 2017-04-06 08:10:08 +02:00
John Scillieri
4ba6f9808e Update 'compiles' documentation to remove not (#5666)
Documentation for proc compiles showed a broken/unintuitive example (unless i missed something)
2017-04-05 23:50:48 +02:00
Zahary Karadjov
34c34cb49b move the object construction logic to a separate file 2017-04-06 00:46:18 +03:00
Zahary Karadjov
f162214d5d object construction: test cases and manual additions 2017-04-06 00:46:18 +03:00
Zahary Karadjov
564c0acae2 cleaned up the code and implemented proper error messages 2017-04-06 00:46:18 +03:00
Zahary Karadjov
02243410fd News items for previous commit 2017-04-06 00:46:18 +03:00
Zahary Karadjov
6edb07091d fix #4556
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.
2017-04-06 00:45:12 +03:00
Andreas Rumpf
88c4d6aabe fix another compiler regression 2017-04-05 11:32:23 +02:00
Andreas Rumpf
ac81a99892 make tests green again 2017-04-04 18:05:53 +02:00
Andreas Rumpf
bfaa329680 Merge branch 'devel' into araq 2017-04-04 13:38:41 +02:00
Andreas Rumpf
0b79a2b02e attempt to make tests green again 2017-04-04 13:28:15 +02:00
Andreas Rumpf
e21ca54b11 assignments support ': stmtList' like let/var do 2017-04-04 12:20:43 +02:00
Araq
87732f797c fixes #5638 2017-04-04 12:08:34 +02:00
Araq
e105c04e49 revert PR #5638 because it breaks code 2017-04-04 10:43:54 +02:00
Andreas Rumpf
9aeccda262 system.nim: make min/max take openArrays, not varargs (breaking change) 2017-04-04 09:34:16 +02:00
Andreas Rumpf
08f5087d2c remove the need for the .procvar annotation 2017-04-03 16:35:41 +02:00
Andreas Rumpf
e8cfa14354 de-deprecate silly warning about non-exhaustive string case statments 2017-04-03 12:28:06 +02:00
Emery Hemingway
dd7ebb2c95 fixup! support for the Genode OS framework (#5653)
Allocate thread metadata at createThread.
2017-04-02 23:48:23 +02:00
Andreas Rumpf
57b7c45128 Merge branch 'devel' into araq 2017-04-02 23:44:50 +02:00
Andreas Rumpf
cab2ce7e87 update grammar.txt 2017-04-02 23:42:53 +02:00
Andreas Rumpf
c65ff403b2 memory manager: use less memory; corruption prevention 2017-04-02 23:41:29 +02:00
Andreas Rumpf
81cd7a8685 minor todo.txt update 2017-04-02 23:41:29 +02:00