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.
Replaces upstream SSheldon/rust-objc#98 and SSheldon/rust-objc#95.
We want to avoid having users specify their own
X
+XRef
types. Instead they should useId<X>
+&X
.TODO:
Ownership
trait should be sealed.Restrict to onlyIt was already restricted toMessage
/"ObjectType"
/ "RetainAble
" types?Message
, the rest is postponed.UnsafeCell
is appropriate.&'pool mut X
->Id<X, Owned>
?&'pool X
->Id<X, Shared>
?&X
->Id<X, Shared>
?&X
could come fromId<X, Owned>
, since lifetime information is discarded!Consider adding lifetime info toPostponed to investigation in Fix ownership inId
, see above.objc2-foundation
#29.X
is actuallySized
? IsId<X, O>
even valid?frutiy
'sNSString
hackRenamePostponed, this seems overly disruptive, just for disruptiveness' sake.Id
->Retain
/Retained
/...Id::autorelease
Make this work different "backends" likeFuture.block
,libdispatch
, CoreFoundation; seefruity
's approach.AddNot desired onretain_count
function.Id
, this should instead be available on all objects.References:
fruity::core::Arc
fruity::core::ObjectType
fruity::objc::ObjcObject