-
Notifications
You must be signed in to change notification settings - Fork 274
Replace uses of codet::move by codet::add(std::move(...)) [blocks: #2310] #3278
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
Conversation
This will require #3277 to be merged first. |
This uses the new rvalue interface and prepares removal of codet::move.
This simplifies the code structure and ensures RAII where possible.
With the preceding changes it is no longer being used.
75ade04
to
a7cff47
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚫
This PR failed Diffblue compatibility checks (cbmc commit: a7cff47).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/90497423
Status will be re-evaluated on next push.
Please contact @peterschrammel, @thk123, or @allredj for support.
Common spurious failures:
- the cbmc commit has disappeared in the mean time (e.g. in a force-push)
- the author is not in the list of contributors (e.g. first-time contributors).
The incompatibility may have been introduced by an earlier PR. In that case merging this
PR should be avoided unless it fixes the current incompatibility.
@peterschrammel @thk123 @allredj I would guess that the TG failure is genuine with some use of |
In terms of performance, my suspicion is that the std::move provides no benefit -- i.e., just codet::add() would likely be fine. |
I guess in most cases that is true, but #3067 had a discussion of possible copy-on-write breaks that could occur in some scenarios. I have admittedly not done a detailed review of the scenarios but rather went for a naive |
I did look for these, and didn't spot any. |
I'll add an independent review of all uses of |
This uses the new rvalue interface and enables removal of codet::move.