Matt Haggard
Matt Haggard
@yglukhov Does this look good to you?
I'm working on fixing this but need to know the desired behavior. If I do: ``` atlas init --deps=deps atlas new myproj cd myproj && atlas use micros ``` I...
Related to #2516 and #2722
Absolutely understandable. If I get some more time on this, I'll try to work out a change that doesn't modify existing Deflate stuff.
I've done a little poking. - I believe it is *not* a bug with `defer`. I tested this by writing my own [`defer` macro](https://github.com/iffy/nim-defer/blob/main/replaceDefer.nim) and it had the same error....
Here's the result of enabling some of the debug statements in `closureiters.nim`. There's a `closureIterSetupExc(nil)` call within this that I think might be responsible. But I don't really know what...
Here's an even smaller demonstration: ```nim import chronos var oq = newAsyncQueue[string]() try: raise ValueError.newException("foo") finally: waitFor oq.addLast("foo") ``` I now suspect `AsyncQueue.addLast`. Let me investigate that. I hope no...
Here's an example that doesn't use `AsyncQueue` or `chronos`: ```nim import std/asyncdispatch proc myFunc*() {.async.} = if false: try: await newFuture[void]("Thing.myFunc") except: discard try: raise ValueError.newException("foo") finally: waitFor myFunc() ```...
More minimal, no imports, no macros. I think it has something to do with yielding inside an if branch that is never taken maybe? ```nim proc myFunc() = iterator myFuncIter():...
Alright, I need to sleep now, but I think the issue is that when a closure iterator has a try/except within it, the *whole* closure is wrapped in special try/except...