Skip to content
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

Update objc2 to v0.6, and use new objc2-core-graphics crate #254

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

madsmtm
Copy link
Member

@madsmtm madsmtm commented Jan 23, 2025

objc2 now provides an interface to CoreGraphics, which has automatic memory management, and interfaces better with the other objc2-* crates. Note that this doesn't have, but I'd argue that's actually a benefit, since it forces us to implement the data provider ourselves (and makes it very visible that that's a place where there's room for improvement).

Another notable change is the introduction of Retained::downcast, which we use to ensure that our types are correct in the key-value observer (instead of blindly casting, and hoping that they are).

This requires an MSRV bump to Rust 1.71 to get access to extern "C-unwind" functions.

@madsmtm madsmtm added CoreGraphics macOS/iOS/tvOS/watchOS/visionOS backend dependencies Pull requests that update a dependency file labels Jan 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CoreGraphics macOS/iOS/tvOS/watchOS/visionOS backend dependencies Pull requests that update a dependency file
Development

Successfully merging this pull request may close these issues.

1 participant