-
-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Description
Hi @nvzqz!
I'd like to contribute to this library in at least the coming 6 months. My motivation would be to create a safe(er) replacement for objc and related crates (I tried improving that first, see SSheldon/rust-objc#101) that I can use in winit and personal projects.
But before I start throwing code at you I'd like to get an estimated answer to the following questions, just to get a feel for the state of the library (and you 😉):
- Do you want to receive and review PRs?
- How do you feel about the project right now? Burnt out or do you still believe in it?
- What are your long-term plans for this library?
- Would you be open to putting it in a GitHub organization at some point (or asked another way, how much "ownership" of the library do you feel?)
Also, would you be open to supporting declaring custom classes? This is required in many cases for implementing delegates. If yes, there's at least three parts to it:
- The declaration part itself. See
objc::declarefor an example implementation. - Letting users choose which traits are implemented for their own custom classes; this would require some form of subclassing, maybe the design that
objc-foundationuses (having traitINSStringand concrete implementorsNSStringandNSMutableString), or something else entirely. - Message-sending macros would have to be public API
Concrete improvements I would like to make is:
- Rework
Arcto have a notion of ownership, so that we can have safe mutability (a lot like inobjc_id) - Add a
AutoreleasePooltype to let you return references to autoreleased items. See Make autoreleasepool take the pool as a parameter SSheldon/rust-objc#103 for more info. Would allow a safeNSString::to_str. - Add helper types to indicate operations that are only safe on the main thread and/or after the NSApplication has been initialized
- Maybe implement some of the generic types in Foundation
- Bringing the
exceptionandverify_messagefeatures ofobjcto this crate as well - Improve testing of
NSString(especially the hacky macro) - Start adding some AppKit classes, at least for the things I need 😉
Hope you have a nice day!
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels