Ideas about the exception-tracing system

2022-11-29 Thread shirleyquirk
This is what effectsOf is for: proc f(callback: proc()) {.effectsOf:callback.} = callback() proc g() {.raises: [ValueError].} = raise newException(ValueError, "") proc h(){.raises:[].} = f(g) Run does not compile because

Ideas about the exception-tracing system

2022-11-29 Thread sls1005
Consider the following code: proc f(callback: proc()) {.raises: [].} = callback() proc g() {.raises: [ValueError].} = raise newException(ValueError, "") f(g) Run This incorrect, as `f` does raise an exception, but above code compiles becaus