Hello, Swift community!
The review of SE-0455: SwiftPM @testable build setting ended on January 23rd.
Feedback on this proposal was light but positive; most of the discussion was requesting clarification around the interaction between disabling @testable import
in the package manifest vs. disabling it via Swift Package Manager's command line flags.
The Language Steering Group agrees with the choices made in this proposal. The ability for packages to unconditionally disable @testable import
in their manifest is an important one. In contrast, enabling @testable import
in release builds through the package manifest is not desirable, due to the risk that other clients of that package would also link against over-exported symbols, missing out on potential runtime and code size optimizations. SwiftPM today already does not support @testable import
in release builds by default, and this proposal does not remove any functionality—packages that still wish to use @testable import
in release mode can use a command line flag to unconditionally enable it. For these reasons, we accept this proposal.
Thanks to everybody who participated in the review!
—Tony Allevato, review manager