+1 What is "current private" can be replicated with the new behavior, use of files, and use of modules.
On Wed, Mar 22, 2017 at 8:59 PM, Jordan Rose via swift-evolution < [email protected]> wrote: > > On Mar 21, 2017, at 15:26, Xiaodi Wu via swift-evolution < > [email protected]> wrote: > > The kicker is, _it also doesn't work_. Try, for instance: > > ``` > struct Foo { > private var bar: Int { return 42 } > } > > extension Foo { > private var bar: Int { return 43 } > } > ``` > > The code above should compile and does not. If I understood correctly the > explanation from a core team member on this list, it's unclear if it can be > made to work without changing how mangling works, which I believe impacts > ABI and is not trivial at all. Thus, (a) even proponents of new `private` > disagree on one of two key goals stated for new `private`; (b) that goal > was never accomplished, and making it work is not trivial; (c) no one even > complained about it, suggesting that it was a low-yield goal in the first > place. > > > Without commenting on anything else, it is considered a bug that this does > not work under SE-0025, and it *has* been complained about > <https://bugs.swift.org/browse/SR-2634> (though not vigorously, since the > workaround is trivial), and fixing it would not be an ABI-breaking change > (because private functions are not part of a module's ABI). > > Jordan > > _______________________________________________ > 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
