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.
As discussed in Discord, this method is especially useful for coercing the
script
of anInstance
into a trait object, thus being able to benefit from more Rust conveniences within Godot scripts.This could be written as an
impl<T> Into<Arc<T>> for ArcData<T>
, but I feel like this makes it more clear that it's not expected for the user to be able to freely treatArcData
as anArc
whenever they want to, but rather must be explicit about accessing the internals of this type -- even if it should theoretically be as memory-safe as using theArcData
anyway.I decided to have this method take ownership of
self
because if you have reference to anArcData
, you should still be able to callclone()
on it to get an owned copy, but the opposite would not be as easy if the user didn't want to increment the ref count.