Hi - First thanks for addressing the two bugs I put on Github. Owe ya'll a beer or whatever you prefer.
So - I'm playing with joda-time code that adds two longs and throws exception on overflow.
If I take care not to cause overflow, I get the correct Invariant: " return - orig(val1) - orig(val2) == 0".
If overflow happens, I don't get the desired invariant, even if I remove the throw exception bit.
Is this expected behavior? Can I customize or extend?
What is the view on Exceptions in general - have you entertained Pre/Post conditions associated with Exceptions (e.g. treating exceptions as special exit?).
A smaller issue - I can also get a grumpy Daikon under some circumstances - perhaps related but I'm not primarily concerned about this.
I've attached relevant files: Source code of unit, unit test and failure modes.