Commit Graph

2460 Commits

Author SHA1 Message Date
Zahary Karadjov
5e368f3639 support for external types with covariant generic params 2017-05-08 21:45:37 +03:00
Ruslan Mustakov
78315792d3 Implement 'take' for Table and TableRef (#5773) 2017-05-04 22:33:52 +02:00
Andreas Rumpf
6c7d2ce8fb disable fragile parts of thttpclient.nim 2017-05-04 22:37:07 +02:00
Andreas Rumpf
c066932635 added IP v6 parsing tests 2017-05-04 22:25:29 +02:00
Ruslan Mustakov
ecf278c467 Implement dial, support IPv6 in httpclient (#5763)
* Implement dial, support IPv6 in httpclient

Added ``dial`` procedure to networking modules: ``net``, ``asyncdispatch``,
``asyncnet``. It merges socket creation, address resolution, and connection
into single step. When using ``dial``, you don't have to worry about
IPv4 vs IPv6 problem.

Fixed addrInfo loop in connect to behave properly.
Previously it would stop on first non-immediate failure, instead of
continuing and trying the remaining addresses.

Fixed newAsyncNativeSocket to raise proper error if socket creation
fails.

Fixes: #3811

* Check domain during connect() only on non-Windows

This is how it was in the previous implementation of connect().

* Call 'osLastError' before 'close' in net.dial

* Record osLastError before freeAddrInfo in net.dial

* Add missing docs for 'dial' proc

* Optimize dial to create one FD per domain, add tests

And make async IPv6 servers work on Windows.

* Add IPv6 test to uri module

* Fix getAddrString error handling
2017-05-02 09:25:50 +02:00
Zahary Karadjov
2a34552596 fix 5756 2017-04-30 22:28:20 +03:00
Zahary Karadjov
622100adb6 close #5757 2017-04-30 21:57:13 +03:00
Zahary Karadjov
5c678e2848 alternative fake covariance based on converters 2017-04-28 18:26:41 +03:00
Zahary Karadjov
72f42ff95f more advanced fake covariance 2017-04-28 18:01:04 +03:00
Zahary Karadjov
c981284ddc a simple way to simulate covariance in generic types 2017-04-28 17:40:57 +03:00
Jacek Sieka
0055729755 WIFSIGNALED means process has exited too (with a bang!) (#5678) 2017-04-27 21:39:32 +02:00
Andreas Rumpf
920888f382 fixes tuple unpacking regression 2017-04-26 11:10:50 +02:00
Araq
05c20bc4ff fixes a parser bug 2017-04-25 19:36:05 +02:00
cooldome
c6a8bd264e Fix for #5695 make subscript operator overloadable for tuples (#5749) 2017-04-24 20:17:06 +02:00
Zahary Karadjov
3e52bb6535 fix a regrsesion in signature matching of derived ptr types 2017-04-18 23:55:59 +03:00
Dominik Picheta
03ddfddcae Add test for previous commit. 2017-04-17 20:04:24 +02:00
Dominik Picheta
793d6efffb Fixes null handling for object refs in JSON unmarshal macro. 2017-04-17 18:43:31 +02:00
Dominik Picheta
2108dcf0d5 Fix JSON macro bug with ref objects. 2017-04-17 18:01:38 +02:00
Zahary Karadjov
3571a8d2f1 more sophisticated test for the previous commit 2017-04-16 14:14:14 +03:00
Zahary Karadjov
4da8536701 fix compilation regression in alea 2017-04-16 13:42:33 +03:00
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
Eugene Kabanov
050918aa2a Fix tioselectors.nim for appveyor. (#5694) 2017-04-12 08:43:41 +02: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
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
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
Dominik Picheta
88cb40cd31 Implement support for enum fields in JSON macro. 2017-04-09 17:22:40 +02:00
Federico Ceratto
9f77233ab4 Add JSON tests based on https://github.com/nst/JSONTestSuite 2017-04-09 14:04:37 +01:00
Dominik Picheta
4bd650ee42 Merge branch 'feature/json-macro' into devel 2017-04-09 13:11:09 +02:00
Dominik Picheta
eedc6fecd7 Document to macro in JSON and add example. 2017-04-09 12:48:07 +02:00
Dominik Picheta
a883424d0d Implements else branch for JSON unmarshalling of object variants. 2017-04-09 11:49:50 +02:00
Zahary Karadjov
03172bef6f fix #5643; fix #5644 2017-04-08 23:42:42 +03:00
Dominik Picheta
658467a31f Improve error messages and add tests for the JSON macro. 2017-04-08 22:06:57 +02:00
Dominik Picheta
cc223ff7d8 Support int, string and bool fields in unmarshal json macro. 2017-04-08 21:23:35 +02:00
Dominik Picheta
12aafb25cc First implementation of JSON unmarshal macro. 2017-04-08 20:55:32 +02: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
Dominik Picheta
27ede21504 Merge pull request #5612 from ehmry/AsyncFile.setLen
asyncfile: setLen procedure for files
2017-04-08 12:24:21 +02: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