Gd::upcast_ref()
+ Gd::upcast_mut()
#558
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds
Gd::upcast_ref()
andGd::upcast_mut()
. They have no direct use due toDeref
trait, but can be useful in generic programming:Also took the opportunity to clean up quite a few things around
Deref
and casting, which were handled entirely separately in the past. Most of the work is done -- there's stillRawGd::with_ref_counted()
which I'd like to align withas_object()
, but I can't spend more time on this right now.As a side effect, some of the object-swap checks (#23) now got even stricter. You can basically not do anything useful anymore, indicating that this is a bug that must always be fixed.
More details in commit messages.