Fixes a generation regression from 4.202.0-canary.29 where SwiftPM C-family targets were emitting public-directory headers into the generated framework’s Headers/ directory, which broke sibling shim modules (notably the CLI’s own swift-nio-ssl build) under the MemberImportVisibility feature: a <Module/Header.h> guard inside a shim header re-homed declarations into the shim module, and consumers that only imported the underlying module lost access to those types’ synthesized initializers. Headers from .custom and .header module-map SPM C targets are now surfaced as project headers instead, while .directory SPM C targets (consumed via <Module/Header.h>) still keep their public-directory headers so ObjC frameworks keep building and archiving correctly.
Hive
Fix SwiftPM C-target header classification breaking sibling shim modules
Published
Jul 02, 2026 · 17:13 UTC
Repository
tuist/tuist