There must be a better solution to this problem, because you might also extend value types from different files. That would mean, we'd need `structprivate` `protocolprivate` etc.
How about: `internal(class)` etc. ? Or something like `internal(private)` to rule them all (I don't like the last name, but something that would rule them all would be nice to have)! -- Adrian Zubarev Sent with Airmail Am 9. September 2016 um 17:49:29, Tom Bates via swift-evolution ([email protected](mailto:[email protected])) schrieb: > > There is currently no way of accessing "shared code" from extensions declared > outside the base .swift file > > 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. > > an example is below... > > ================= > //MyClass.swift > public class MyClass { > > classprivate func sharedFunction() { > self.function1() > self.function2() > } > > fileprivate func function1() {} > fileprivate func function2() {} > } > ================= > > ================= > //MyClass+Save.swift > extension MyClass { > > public func save() { > self.someFunction() > self.sharedFunction() > } > > fileprivate func someFunction() {} > } > ================= > > Currently to achieve anything like this you would have to make the "core" > 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. > > There would be no migration needed I don't think as the impact on current > code would be zero until the developer adopts the new access level > > Regards, > Tom > > > > _______________________________________________ > swift-evolution mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
