Hive Hive
Sign in

Fix SwiftPM C-target header classification breaking sibling shim modules

Metadata
Source
GitHub
Version
4.202.0-canary.32
Published
Jul 02, 2026 · 17:13 UTC
Repository
tuist/tuist
Update

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.