-
Notifications
You must be signed in to change notification settings - Fork 70
Better class declaration #30
Copy link
Copy link
Closed
Labels
A-objc2Affects the `objc2`, `objc2-exception-helper` and/or `objc2-encode` cratesAffects the `objc2`, `objc2-exception-helper` and/or `objc2-encode` cratesenhancementNew feature or requestNew feature or request
Milestone
Metadata
Metadata
Assignees
Labels
A-objc2Affects the `objc2`, `objc2-exception-helper` and/or `objc2-encode` cratesAffects the `objc2`, `objc2-exception-helper` and/or `objc2-encode` cratesenhancementNew feature or requestNew feature or request
Blocked on at least #21.Fundamentally cannot be made safe, since you're calling into unknown Objective-C classes. Not even sure
add_ivaris sound (since Objective-C could be using the same ivar in a superclass)?Fix Adding a method isn't ergonomic SSheldon/rust-objc#12
Fixed by Consistently implement
MethodImplementationwrt. lifetimes #193.Rename
ClassDecl->ClassBuilderCan it be made more ergonomic with macros? See More macros SSheldon/rust-objc#74.
Done in various PRs (primarily
declare_class!macro)Returning an autoreleased object in a custom / overridden method is very unergonomic:
Will also need something like an
autorelease_returnmethod onIdwhich callsobjc_autoreleaseReturnValue.Fixed by Add
Id::autorelease_return#191. See Addautoreleasepool_leaking#112 as well for an alternate solution.Differentiate between static class references and "registered" classes, see Sending messages is inefficient because of selector lookup SSheldon/rust-objc#49 (comment)Moved to Add static classes #185.Memory management rules are not automatically followed. Fixed by Allow returning
Idfromextern_methods!#244Uninitialized data in
initmethods. Fixed by Better ivar initialization #252Allow
Droptypes in ivars. Fixed by AllowDroptypes in ivars #254