- 
                Notifications
    You must be signed in to change notification settings 
- Fork 63
Closed
Labels
bugSomething isn't workingSomething isn't workingdocumentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or request
Description
My work on fixing upstream issues, or at least opening new issues in this repo to track them.
objc issues:
-  mem::swap doesn't work with Objects SSheldon/rust-objc#6
- Tracked in Unstable: extern typesupport #73
 
- Tracked in Unstable: 
-  Adding a method isn't ergonomic SSheldon/rust-objc#12
- Tracked in Better class declaration #30
 
-  Implement Encode for more types SSheldon/rust-objc#26
- The system has been improved in Add RefEncode, and makeEncodebounds required #14, pointers to pointers now work.
- And the rest is fixed by More EncodeandRefEncodeimplementations #52.
 
- The system has been improved in Add 
-  Should Object and other runtime types be Send/Sync? SSheldon/rust-objc#44
- In Add objc_syscrate #19 we ensure that the types are notSend,SyncandUnpinby default
- And then they were made the correct thing in SendandSyncfixes #94.
 
- In Add 
-  Sending messages is inefficient because of selector lookup SSheldon/rust-objc#49
- Tracked in Add static selectors #104
 
-  Consider making objc no_std compatible SSheldon/rust-objc#51
- Worked on in More no_stdsupport #6, Prepare for a time when we can make the cratesno_std#152 and Remove libstd from objc-sys and block-sys #305.
- Remaining is mostly C types from std::os::raw,CStrandCString- see tracking issues Tracking Issue for core_ffi_c rust-lang/rust#94501 and Tracking Issue for feature(core_c_str) and feature(alloc_c_string) rust-lang/rust#98314.
- Unsure about stuff in rc::autorelease?
- Conclusion: This will happen at some point, but it requires higher MSRV and more compiler support.
 
- Worked on in More 
-  Add custom derive for Encode SSheldon/rust-objc#52
- Tracked in derivemacros #55
 
- Tracked in 
- API for passing already nul-terminated strings to avoid allocation SSheldon/rust-objc#54
-  Type register and method export attributes for objc in Rust like C# in xamarin? SSheldon/rust-objc#56
- The extern_class!andextern_methods!macros basically do this
 
- The 
- Unsound drop of uninitialised variable in Object::set_ivar. SSheldon/rust-objc#61
-  sel! can no longer be specifically macro_used in versions 0.2.3+ SSheldon/rust-objc#69
- Already fixed upstream in Make objc macros compatible with use macro!SSheldon/rust-objc#76
 
- Already fixed upstream in Make objc macros compatible with 
-  More macros SSheldon/rust-objc#74
- Probably pretty future, tracked in Better class declaration #30
 
-  Implement Default for WeakPtr? SSheldon/rust-objc#77
- Done in Id improvements #21
 
-  Docs link is stale SSheldon/rust-objc#78
- Fixed in Improve documentation #13.
 
-  Plan for higher-level bindings? SSheldon/rust-objc#79
- Mostly answered, rest is tracked in Improve objc2::foundation#67
 
- Mostly answered, rest is tracked in Improve 
- Memory leaks when passing Drop objects to msg_send! SSheldon/rust-objc#80
-  More ergonomic references SSheldon/rust-objc#95
- Done in Id improvements #21
 
-  The future of the Objective-C crate ecosystem SSheldon/rust-objc#101
- The reason this repo exist
 
-  Get Object from Class? SSheldon/rust-objc#106
- Answered
 
-  Strange conflict between NSProcessInfo and NSScreen, causing segmentation fault. SSheldon/rust-objc#107
- Answered
 
-  Is the underlying BOOL type a bool on Apple silicon SSheldon/rust-objc#110
- Answered
 
-  How to call @available? SSheldon/rust-objc#111
- Moved to How do we handle availability? #266
 
-  Soundness issue with msg_send!SSheldon/rust-objc#112
-  iOS ClassDecl panic - Should I do something before a ClassDecl? SSheldon/rust-objc#113
- Answered and documented in Various small fixes #84
 
-  How to import and use constants SSheldon/rust-objc#114
- Answered
 
-  How to link struct from framework? SSheldon/rust-objc#115
- Answered
 
-  How do you not cause memory leaks? SSheldon/rust-objc#117
- Answered
 
-  How to use callback functions? SSheldon/rust-objc#118
- Answered
 
-  Basic documentation code does not compile SSheldon/rust-objc#119
- Fixed by making macros hygenic
 
-  Issue with callback functions SSheldon/rust-objc#120
- Answered
 
-  Add separate macro for msg_send! that does not verify message types SSheldon/rust-objc#121
- Answered
 
objc PRs:
-  Use mbox instead of malloc_buf SSheldon/rust-objc#72
- Opened upstream Questions kennytm/mbox#20 for some changes I'd like to see.
- See also malloced,malloc-array.
- See also Features that require libc#500.
- Conclusion: It's put behind a feature to cut down on dependencies (mbox/malloc_bufrequirelibc).
 
-  Change docs link to docs.rs SSheldon/rust-objc#81
- Fixed in Improve documentation #13.
 
-  change from http to https SSheldon/rust-objc#88
- Fixed in Improve documentation #13.
 
-  Derive Debug and PartialEq on a few more types SSheldon/rust-objc#93
- Fixed in Better follow API guidelines #102
 
-  Run rustfmt and require it in CI SSheldon/rust-objc#96
- Fixed in Run cargo fmt#2
 
- Fixed in Run 
-  Redo reference counting SSheldon/rust-objc#98
- Moved to Id improvements #21.
 
-  Cleanup CI SSheldon/rust-objc#99
- Fixed in Fix CI setup #5
 
-  Faster msg_send!SSheldon/rust-objc#100
-  Stop dereferencing msg_send!'s first argument SSheldon/rust-objc#102- Replaced by Improve message sending #38
 
- Make autoreleasepool take the pool as a parameter SSheldon/rust-objc#103
-  Add unstable_extern_typesfeature SSheldon/rust-objc#104- Moved to Unstable: extern typesupport #73
 
- Moved to Unstable: 
-  MakeSelan opaque struct likeIvar,Method,Class,ProtocolandObjectSSheldon/rust-objc#105- I think I agree with @SSheldon here, this something we shouldn't do, Selmakes sense as a normalCopytype
 
- I think I agree with @SSheldon here, this something we shouldn't do, 
-  increase number of MessageArguments impl tuples SSheldon/rust-objc#116
- Included in Webkit #355
 
- Add apple tvos support SSheldon/rust-objc#122
objc_foundation:
-  Make "into" methods take self with type Id<Self> SSheldon/rust-objc-foundation#1
- Tracked in Idconversion traits #48 / MakeId#[fundamental]#50
 
- Tracked in 
- Guarantee that pointers to NSObjects can be encoded SSheldon/rust-objc-foundation#2
-  Relicense under dual MIT/Apache-2.0 SSheldon/rust-objc-foundation#5
- Tracked in Relicense under trio MIT/Apache-2.0/Zlib #23.
 
-  Violating soundness requirements SSheldon/rust-objc-foundation#10
- Tracked in Fix ownership in objc2-foundation#29.
 
- Tracked in Fix ownership in 
-  Casting to Object SSheldon/rust-objc-foundation#11
- Answered
 
-  License File SSheldon/rust-objc-foundation#12
- Fixed by moving into this repo (which has a license file).
 
-  memory leak in INSstring.as_str() SSheldon/rust-objc-foundation#15
- Tracked in Safer NSString#24.
 
- Tracked in Safer 
-  Link against gnustep-base on Linux SSheldon/rust-objc-foundation#6
- Merged into Fix CI setup #5. blockstill doesn't work, that is tracked elsewhere.
 
- Merged into Fix CI setup #5. 
- add license file SSheldon/rust-objc-foundation#13
-  Manually dereference IdSSheldon/rust-objc-foundation#14- Replaced by Improve message sending #38
 
-  Basic version of NSError SSheldon/rust-objc-foundation#16
- Fixed in Add basic version of NSError#221, further improvements to error handling in Better error handling inmsg_send!andmsg_send_id!#276 and Support error return and out parameters indefine_class!#283
 
- Fixed in Add basic version of 
objc_exception:
-  Relicense under dual MIT/Apache-2.0 SSheldon/rust-objc-exception#2
- Tracked in Relicense under trio MIT/Apache-2.0/Zlib #23.
 
-  Fails to cross-compile for Apple Silicon SSheldon/rust-objc-exception#6
- Fixed in Fix CI setup #5 (which included Don't include objc headers in exception.mSSheldon/rust-objc-exception#8)
 
- Fixed in Fix CI setup #5 (which included Don't include objc headers in 
-  Add no_stdsupport and migrate to 2018 edition SSheldon/rust-objc-exception#7- Fixed in Fix warnings, and other chores #3 and More no_stdsupport #6.
 
- Fixed in Fix warnings, and other chores #3 and More 
-  Don't include objc headers in exception.mSSheldon/rust-objc-exception#8- Included in Fix CI setup #5.
 
-  Use a struct to represent Exceptioninstead of an uninhabited enum SSheldon/rust-objc-exception#9
-  Make throwmore efficient SSheldon/rust-objc-exception#10- Included in Fix CI setup #5.
 
-  Use nightly features SSheldon/rust-objc-exception#11
- Mostly for prosperity.
 
-  Will not compile with homebrew's GCC. SSheldon/rust-objc-exception#12
- I'm not sure if we can support GCC, or if their Objective-C support is too terrible?
- Moved to Support better cross compilation, as well as other compilers (GCC) #499
 
-  cross compile from x86_64 linux to aarch64-apple-darwin SSheldon/rust-objc-exception#13
- Fixed in Fix CI setup #5
 
objc-encode:
-  Improve documentation SSheldon/rust-objc-encode#2
- Moved to Improve documentation #13.
 
- Implement Encode for arrays using const generics SSheldon/rust-objc-encode#3
-  Change Encoding parameter sizes SSheldon/rust-objc-encode#4
- Moved to Change Encoding parameter sizes #11.
 
- Support architectures with pointer width 16 SSheldon/rust-objc-encode#5
-  Use str::strip_prefixinstead of customrm_prefixfunction SSheldon/rust-objc-encode#6- Fixed in Fix warnings, and other chores #3.
 
-  Implement Encodefor unsized types as well SSheldon/rust-objc-encode#7
-  Implement a to_string method for Encoding enum SSheldon/rust-objc-encode#8
- Answered
 
objc_id:
-  Convert a slice of Ids to references at zero-cost SSheldon/rust-objc-id#1
- Included in Idtraits #41
 
- Included in 
-  Allow Option<Id<T>> to use the null pointer optimization SSheldon/rust-objc-id#2
- Done as part of Id improvements #21.
 
-  Relicense under dual MIT/Apache-2.0 SSheldon/rust-objc-id#3
- Tracked in Relicense under trio MIT/Apache-2.0/Zlib #23.
 
-  Default Id to shared by renaming {Id => OwnedId} and {ShareId => Id} SSheldon/rust-objc-id#4
- Id improvements #21 removed the default, then we can add a new one back later in a backwards-compatible way if we figure out that's desired!
 
- Consider setting an associated object to verify that owned Ids are unique SSheldon/rust-objc-id#5
-  License File SSheldon/rust-objc-id#6
- Fixed by moving into this repo (which has a license file).
 
-  add MIT license file SSheldon/rust-objc-id#7
- Fixed by moving into this repo (which has a license file).
 
-  Fix SendandSyncimplementations onIdandWeakIdSSheldon/rust-objc-id#8
block
Moved to #168.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingdocumentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or request