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

Move and exception safety for final_act. resolves #11 resolves #12 #13

Closed
wants to merge 1 commit into
base: master
from

Conversation

Projects
None yet
3 participants
@jbcoe

jbcoe commented Sep 19, 2015

Copy elision no longer required for finally.
Move construction does not result in multiple function object invocation.
Object returned by final_act cannot terminate program if it throws.
Tests added.

@AndrewPardoe AndrewPardoe added review open and removed review labels Sep 21, 2015

@neilmacintosh neilmacintosh removed their assignment Sep 21, 2015

@neilmacintosh neilmacintosh removed the open label Sep 21, 2015

@neilmacintosh neilmacintosh self-assigned this Sep 22, 2015

@neilmacintosh

This comment has been minimized.

Show comment
Hide comment
@neilmacintosh

neilmacintosh Sep 27, 2015

Collaborator

I can't accept this PR I'm afraid. We don't want to allow Final_act to swallow exceptions. Final_act should be noexcept (for reasons I outline in the original issue) and so if something it calls happens to throw, then program termination will result. I'd be happy to look at the PR again if the catch(...) rework was removed.

Collaborator

neilmacintosh commented Sep 27, 2015

I can't accept this PR I'm afraid. We don't want to allow Final_act to swallow exceptions. Final_act should be noexcept (for reasons I outline in the original issue) and so if something it calls happens to throw, then program termination will result. I'd be happy to look at the PR again if the catch(...) rework was removed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment