I was briefly discussing unsafe-flags-in-dependencies with @NeoNacho and we're tending towards allowing unsafe flags in local and branch-based dependencies without any global switch. This might be a good approach for these reasons:
- The intent of unsafe escape hatch is to enable experimentation and development which aligns with the goals of branch-based dependencies.
- It will enable people to control the list of dependencies that can vend unsafe flags without having to specify a list as an additional option.
- It lets people bypass SwiftPM's limitation and let them do their work in a way that they can't break the package graph (win-win).
- This can be used as a staging ground for adding more "safe" APIs in the build settings model.
We also agreed that the unsafe-flags-in-dependencies functionality can be discussed separately and should not block the rest of the proposal. I should also point out that implementation of this functionality is blocked on SE-0226 because of technical reasons.