FWIW, I think the `let a=..; let b=..` is fine if even if it introduces copies. 
Optimizing seems out of scope for asserts - you really optimize by just not 
running them. :-) As @jackhftang correctly observed, asserts are not a 
replacement for logging.

Not sure a more capable `binOpAssert` or `powAssert` are "too much" for the 
stdlib. I like big tent/all of the above stdlibs, but priorities vary widely 
and we've had a hard time growing Nim's stdlib.

As a reader, I would prefer (for `powAssert`) an output format like "condition 
that failed" then "subexpression components"..basically failure then 
explanation outside-in..basically the reverse of @Hlaaftana's - that way I can 
maybe stop reading earlier. (I know some people read errors bottom-up...Just 
registering an opinion).

Reply via email to