<div dir="ltr">Yes, I understand the purpose of the PCH file and I agree with you, but its side effects were mentioned in the context of my suggestion explanation.<div><br></div><div>About pre-importing modules: currently Swift already has support for something like this when using bridging headers for Objective-C interoperability. I&#39;m suggesting the same behaviour for Swift-only files using a special file or a special type of import (maybe `#import`).</div><div><br></div><div>-Van</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 8, 2016 at 8:30 PM, Brent Royal-Gordon <span dir="ltr">&lt;<a href="mailto:brent@architechies.com" target="_blank">brent@architechies.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">&gt; #import (project scope import)<br>
&gt; <a href="https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160125/008461.html" rel="noreferrer" target="_blank">https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160125/008461.html</a><br>
&gt;<br>
&gt; Pre-imported modules (sort of PCH)<br>
&gt; <a href="https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160125/007706.html" rel="noreferrer" target="_blank">https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160125/007706.html</a><br>
&gt;<br>
&gt; In many languages, including Swift, when we are developing apps (frameworks are other history), we have to include/import dozens of libraries references. The proposal is to have for app projects (maybe not for frameworks projects) a way to say to Swift compiler that we are using some module everywhere in the project code files, so we can expect the module to be always available without a `import` on the top of each file.<br>
<br>
</span>Swift seems to generally have a philosophy where the interpretation of a file shouldn&#39;t depend on global context, like compiler error switches. It seems to me that these features would violate that rule.<br>
<br>
In particular, it&#39;s worth keeping in mind that the actual purpose of a PCH is not to reduce the number of imports in the text of each C file, but to precompile large, widely-included headers once so they don&#39;t need to be compiled separately for every file. That&#39;s the &quot;PC&quot; in &quot;PCH&quot;. Using a PCH to reduce boilerplate is actually abusing the mechanism.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Brent Royal-Gordon<br>
Architechies<br>
<br>
</font></span></blockquote></div><br></div>