-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: Bump objc2 to 0.5.0; bring icrate 0.1.0 #323
Conversation
icrate 0.1.0 has been released, although the path towards reducing the number of features isn't clear at the moment. I currently don't have access to my Mac, I'll come back to this next year anyway. |
I think we use some methods that might not need to be marked unsafe:
Otherwise this PR is ready for review. |
I see several places where we use |
The safe alternative to I think the only place where we have both an |
I'd rather call |
I think I'm considering a way to automatically mark simple things like this as safe, but it's a difficult trade-off between usability and soundness. I've opened madsmtm/objc2#549 for the specific ones you listed, at least.
Tracking the more generic way in madsmtm/objc2#518. I agree with calling
If you can use |
@DataTriny I'd like to replace |
Yup! Will do this tomorrow though. |
@DataTriny Would you mind if I do these fixes and then merge this PR? That's one advantage of us both working in the upstream repo. |
Of course, go ahead! |
Replaces #200
Split
icrate
into multiple crates madsmtm/objc2#537,Update
objc2
andicrate
versions rust-windowing/winit#3256Update to latest objc2,
Introduce icrate as a dependency,
Remove handmade AppKit types in favor of auto-generated ones provided by icrate,
Use type aliases from icrate as much as possible
The compile time of accesskit_macos increases a bit due to icrate. This shouldn't be a big issue for Rust users who will probably have it in their dependency chain already. Bindings generation will be slightly slower, but I don't think this should be a concern.