Skip to content

Recover canonical Objective-C protocol conformances - #82

Merged
lynnswap merged 6 commits into
mainfrom
codex/issue-60-ios-protocol-aliases
Aug 25, 2026
Merged

Recover canonical Objective-C protocol conformances#82
lynnswap merged 6 commits into
mainfrom
codex/issue-60-ios-protocol-aliases

Conversation

@lynnswap

Copy link
Copy Markdown
Owner

Purpose

Restore direct Objective-C protocol conformances when dyld canonical protocol objects live in cache-wide storage outside every Mach-O image.

Closes #60.

Changes

  • Pin MachOObjCSection to c7716997aa1ace417c43fcd15b5322dbbe79ec54, which mirrors objc4's canonical and name-remap paths while validating active shared-cache provenance, runtime preoptimization state, mapping boundaries, mandatory layout size, and bounded cumulative name reads.
  • Pin MachOSwiftSection to the coherent cohort commit 122f50ee5196816a0d9d628a56a978636bc9bb03 so its transitive MachOObjCSection dependency matches the direct pin.
  • Update Package.resolved and the exact dependency-pin contract test.

Testing

  • swift test
  • scripts/test-release-scripts.sh
  • iOS Core/CoreTests compile checks
  • watchOS Core/CoreTests/simulator-helper compile checks
  • MachOObjCSection: 54 protocol safety tests, 9 relative-member safety tests, release build, iOS Simulator arm64/x86_64, watchOS Simulator arm64, and watchOS device arm64_32 builds
  • MachOSwiftSection: coherent remote graph and 640 non-baseline tests
  • iOS 27.0 beta 24A5390f ARKit smoke: ARAnchor renders <ARDaemonSecureCoding, ARAnchorCopying, NSSecureCoding> with zero ARKit Objective-C metadata warnings
  • watchOS 27.0 beta 24R5325f AVFAudio smoke: AVAudioBuffer renders <NSCopying, NSMutableCopying> and AVAudioFormat renders <NSSecureCoding> with zero AVFAudio Objective-C metadata warnings
  • Final branch-wide Codex review: no actionable findings

@lynnswap
lynnswap merged commit 05d7fe7 into main Aug 25, 2026
1 check passed
@lynnswap
lynnswap deleted the codex/issue-60-ios-protocol-aliases branch August 26, 2026 16:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

iOS and watchOS 27 drop canonicalized Objective-C protocol conformances

1 participant