Commit graph

55 commits

Author SHA1 Message Date
Andreas Rumpf
c14427dbf3
ORC: cursor inference bugfix (#17973)
* fixed a .cursor inference bug

* added a test case
2021-05-08 16:47:06 +02:00
Timothee Cour
d6242d7fe1
simplify asyncfutures, asyncmacro (#17633) 2021-04-14 21:22:22 +02:00
Timothee Cour
97764c8dc9
remove un-needed {.push hint[ConvFromXtoItselfNotNeeded]: off.} in asyncfutures, asyncmacro (#17631) 2021-04-03 15:24:01 -07:00
flywind
47c078e29c
use single backtick (#17166) 2021-02-23 21:05:39 -08:00
Timothee Cour
31bb67a309
add -d:nimStrictMode in CI to keep code from regressing; fixes ConvFromXtoItselfNotNeeded, UnusedImport notes (#16764) 2021-02-17 19:30:09 +01:00
Miran
25c75752d0
remove quotation marks around imports - fixes links in the docs (#16888) 2021-02-01 06:50:23 +01:00
Andreas Rumpf
1fae66e4df
better nativestacktrace support; refs #15284; backport [1.2] (#15384)
* nimStackTraceOverride: enable stack traces in exceptions

This is a two-step stack trace collection scheme, because re-raised
exceptions will collect multiple stack traces but use them rarely, when
printing info about an uncaught exception, so it makes sense to only do
the cheap stack unwinding all the time and the relatively expensive
debugging information collection on-demand.

`asyncfutures` implements its own `$` proc for printing
`seq[StackTraceEntry]`, so we have to add the debugging info there, just
like we do for the private `$` proc in `system/excpt`.

* cleaned up PR #15284

Co-authored-by: Ștefan Talpalaru <stefantalpalaru@yahoo.com>
2020-09-22 13:03:24 +02:00
Andreas Rumpf
2671efab78
async: minor refactorings (#15354) 2020-09-18 11:22:34 +02:00
hlaaftana
01523b2b58
change some Exceptions to CatchableError or Defect, fixes #10288 (#14069) 2020-04-22 16:49:41 +02:00
Andreas Rumpf
35fb38629f
cycle breaker (#13593)
* cycle breaking as an alternative to cycle detection
2020-03-19 22:58:16 +01:00
Araq
d19206755b async: use $ and not repr in debug mode 2019-11-05 17:10:02 +01:00
narimiran
aa513d78e7 [backport] run nimpretty on async 2019-09-30 13:57:58 +02:00
Araq
5abe880469 last stdlib cleanups 2019-09-21 06:43:37 +02:00
Andreas Rumpf
ac458448d8 make async tests green again 2019-07-11 11:09:10 +02:00
Araq
c94647aeca styleCheck: make the compiler and large parts of the stdlib compatible with --styleCheck:error 2019-07-10 12:42:41 +02:00
Araq
55e8aefbea newruntime: async progress 2019-07-09 20:15:57 +02:00
Araq
7993d61d00 async: more 'owned' annotations 2019-07-09 11:38:00 +02:00
Andreas Rumpf
5f515410af
newruntime for async (#11650)
* fixes overloading resolution for passing owned(Future[string]) to Future[T]
* WIP: make --newruntime work with .async
* memtracker: make it compile again
* make Nimble compile again
2019-07-05 01:42:17 +02:00
Dominik Picheta
73c44c6e9b [bugfix] Fixes async IO operations stalling even after socket is closed. (#11232) 2019-06-12 17:07:05 +02:00
Dominik Picheta
abe634aefe Implements pending future tracking in async. 2019-05-06 17:18:30 +01:00
Miran
964b5dac7c complete future only once in or (fixes #8982) (#9632)
* complete future only once in `or`

Analogous to `and`.
Credits to @k0zmo for proposing the solution.

* add test
2018-11-09 22:45:17 +00:00
narimiran
15c66a06f9 keep the order of the callbacks 2018-11-07 15:22:02 +01:00
citycide
4362ba7293 docs: clarify asyncCheck vs waitFor 2018-10-27 18:04:25 +01:00
Andreas Rumpf
541debe6e1 stdlib: minor changes to avoid compiler warnings 2018-09-19 15:39:10 +02:00
Andreas Rumpf
dae5450947 WIP: disallow 'nil' for strings and seqs 2018-08-13 11:41:33 +02:00
Araq
bbb0fd4eb7 remove deprecated stuff from the stdlib; introduce better deprecation warnings 2018-05-05 21:45:07 +02:00
Eugene Kabanov
5063437b0c Make clearCallbacks() public. (#7753) 2018-05-03 07:53:54 +02:00
Dominik Picheta
47d05b3f2e Merge branch 'devel' into async-improvements 2018-01-17 16:28:00 +00:00
Dominik Picheta
2c905f5e81
Merge pull request #6962 from nim-lang/fixes/6100
Fixes #6100.
2018-01-10 23:11:26 +00:00
Dominik Picheta
7e6dc3679a Simplify async traceback processing. 2017-12-28 09:21:22 +01:00
Andreas Rumpf
3593a4bdd1 made the logic correct 2017-12-28 09:21:22 +01:00
Araq
1c2dee18d0 attempt to get the stack trace logic right; fix boundaries 2017-12-28 09:21:22 +01:00
Araq
b3055d8735 attempt to get the stack trace logic right 2017-12-28 09:21:22 +01:00
Araq
6cf2fcaaf1 optimized friendly stack traces 2017-12-28 09:21:22 +01:00
Dominik Picheta
383c80971c No need to recurse now that mergeEntries doesn't do any pattern matching. 2017-12-28 09:21:22 +01:00
Dominik Picheta
6301e33543 Show only detailed async tracebacks. 2017-12-28 09:21:22 +01:00
Dominik Picheta
391f877e6c Attempt to provide simplified and detailed tracebacks 2017-12-28 09:21:22 +01:00
Dominik Picheta
3a790c9c72 Rename cb0 to asyncProcName_continue + other improvements to async tracebacks. 2017-12-28 09:21:22 +01:00
Dominik Picheta
a9a13e470b Go through the re-raise stacks for more detailed tracebacks. 2017-12-28 09:21:22 +01:00
Dominik Picheta
9ca6afe73a Refine the async tracebacks. 2017-12-28 09:21:22 +01:00
Dominik Picheta
f73015ad9e Implement some simple pattern-based transformation for async tracebacks. 2017-12-28 09:21:22 +01:00
Dominik Picheta
52cc925e0e Fixes #6100. 2017-12-27 22:37:11 +00:00
Andreas Rumpf
5e43e0d789
Merge branch 'devel' into async-improvements 2017-12-11 15:12:45 +01:00
Mathias Stearn
b87ef65532 Use addCallback rather than callback= in asyncfutures.all() (#6850)
* Use addCallback rather than callback= in asyncfutures.all()

Addresses part of #6849

* Stop using do notation for #6849

* Update example style
2017-12-09 00:55:04 +00:00
Dominik Picheta
325e4520ec Implements `asyncdispatch.getIoHandler` and assert on nil futures. 2017-11-24 16:30:56 +00:00
Erik Johansson Andersson
24fd86f8ee make asyncfutures.complete compile 2017-07-18 18:10:01 +02:00
Michał Zieliński
cb5b1c9344 asyncdispatch: formatting fixes 2017-07-12 10:23:48 +02:00
Michał Zieliński
6bdd00db0e asyncdispatch: add callSoon getter/setter, renames 2017-07-06 13:27:42 +02:00
Michał Zieliński
797690ba3f Future: support for multiple callbacks 2017-07-05 12:54:09 +02:00
Michał Zieliński
93827e6ab8 split FutureStream from asyncfutures 2017-07-05 12:54:09 +02:00