Valid for a function which may throw before the invocation occurs? That is what if the invocation is guaranteed to occur if no exception is thrown beforehand?
Such as:
I believe so. That contract is mainly for inferring things that happen afterwards. Also, if the block calls any functions, those could possibly throw as well, and so I don't think the compiler would expect the block to complete fully successfully anyways. Note btw that if your function catches an exception thrown by