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

Don't rely on load order for built-in classes. #294

Merged
merged 1 commit into from
Oct 22, 2024

Conversation

davidchisnall
Copy link
Member

Generate these classes using the structures that the runtime expects internally, rather than relying on the Objective-C compiler. This change means that they can always be the latest version, even if the runtime is compiled with an older compiler, and ensures that the Protocol class is always available, independent of global constructor ordering between libraries.

Fixes #283

@davidchisnall
Copy link
Member Author

CI is failing for Windows 2022 because GitHub broke the Windows 2022 images.

@hmelder hmelder self-requested a review October 22, 2024 13:01
@hmelder
Copy link
Collaborator

hmelder commented Oct 22, 2024

Other than that, it looks good to me. It's a great idea to pre-generate the structures :)

Generate these classes using the structures that the runtime expects
internally, rather than relying on the Objective-C compiler.  This
change means that they can always be the latest version, even if the
runtime is compiled with an older compiler, and ensures that the
`Protocol` class is always available, independent of global constructor
ordering between libraries.

Fixes #283
@davidchisnall davidchisnall merged commit a9d0313 into master Oct 22, 2024
83 checks passed
@davidchisnall davidchisnall deleted the builtin-classes branch October 22, 2024 13:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

Segfault in SparseArrayLookup; CAAction's protocol version is invalid
2 participants