<div dir="ltr"><div><span style="line-height:1.5">There is currently no way of accessing &quot;shared code&quot; from extensions declared outside the base .swift file</span><br></div><div><br></div><div>I would love to see along side the new fileprivate access level a classprivate access level that would allow any extension declared outside of the original .swift file to access these properties and functions in an attempt to reuse code.</div><div><br></div>an example is below...<br><br>=================<br>//MyClass.swift<br>public class MyClass {<br>  <br>  classprivate func sharedFunction() {<br>  self.function1()<br>  self.function2()<br>  }<br><br>  fileprivate func function1() {}<br>  fileprivate func function2() {}<br>}<br>=================<br><br><div>=================<br class="inbox-inbox-Apple-interchange-newline"><div>//MyClass+Save.swift<br>extension MyClass {<br><br>  public func save() {<br>  self.someFunction()<br>  self.sharedFunction()<br>  }<br>  <br>  fileprivate func someFunction() {}<br>}<div>=================<br></div><div><br></div><div>Currently to achieve anything like this you would have to make the &quot;core&quot; functions public or internal or write the whole thing in a single file which as I understand it is not optimal for the compile speed and can get unmanageable for large classes. This would allow a more managed file structure and the separation of related functions from the core declaration.</div><div><br></div><div>There would be no migration needed I don&#39;t think as the impact on current code would be zero until the developer adopts the new access level</div><div><br></div><div>Regards,</div><div>Tom</div></div></div></div>