Remove IUnknownImpl::from_inner_ref
as no longer needed
#3513
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.
This PR cleans up part of #3055, which improved COM object support.
The
IUnknownImpl::from_inner_ref
method predates the newComObject
API. It allows unsafe code to cast from&T
to&T_Impl
. This is a very dangerous operation because it "widens" the pointer; it requires that&T
point to aT
that is embedded within aT_Impl
.This was necessary for some situations before the new
ComObject
API, but is is completely unnecessary now. The newComObject
API provides safe ways to do the same thing. Also, this cast is unnecessary because all COM interface trait implementations are done onT_Impl
types, not onT
, so this method is unnecessary.