-
Notifications
You must be signed in to change notification settings - Fork 449
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add and fix contracts for inline functions #3535
Conversation
Thanks for your hard work! This is a boring task, but will definitely help our users. Just one question: does the compiler accept all of these without any further complaints? I've learnt the hard way that if the compiler does not agree with the contract, it's better to leave it out. |
Only a few are rejected, and it's because the compiler can't tell that e.g. all |
Most of these changes should be straightforward. One that might be confusing at first is
zipOrAccumulate
having all lambdas marked exactly-once. The reason is that, after the execution ofzipOrAccumulate
, we're totally guaranteed to have executed them all because if any of themraise
,zipOrAccumulate
will raise it too. Similarly forwithError