Skip to content
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

Implement operations::replace traits for bare objects #2092

Merged
merged 6 commits into from
Nov 14, 2023
Merged

Conversation

hannobraun
Copy link
Owner

Update the implementations for Handles to use the bare object implementations. This change provides much more flexibility for the replace operations:

  • It makes the replace operations available in more places; specifically other operations that are themselves implemented for bare objects.
  • It makes it possibly to use the operations in more places. Previously, when chaining multiple replace operations, the caller was forced to insert the intermediate object, which caused issues, if the intermediate object was invalid. Now the insertion is no longer required, making it possible to make the object valid using the chained replaced operation, before inserting it.

The Handle implementations are still provided, as they are also required in some situation, specifically, some of the replace operations themselves. Maybe this can be addressed, I'm not sure.

This is needed to make further progress on #2023.

Make it possible to specify the types for the original and updated
objects separately. This will make it possible to implement the replace
traits for the bare object types too.
@hannobraun hannobraun enabled auto-merge November 14, 2023 09:46
@hannobraun hannobraun merged commit 9bce803 into main Nov 14, 2023
4 checks passed
@hannobraun hannobraun deleted the replace branch November 14, 2023 09:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant