On 1 November 2017 at 15:31, BJ Homer <bjho...@gmail.com> wrote: > Again, though, “anyone” here only means “anyone working in the same > module”. Which is a very restricted set of “anyone”: it only includes > people who already have full access, and could just modify the original > struct anyway. >
by this logic we can conclude that "private" in C++ is absolutely useless, as anyone (like "anyone in the world with the header") can change the header from: "private: void foo();" to "public: void foo();" even without the need of having the corresponding source file with "void foo()". right? i'd say wrong. i'd say that even if i have a physical write access to, say, 30 third party libraries and use them in my project doesn't mean i am "free" to go to those other people classes and change private things to public willy nilly, or add variables to their classes, etc. my proposal, as well as the above example with C++ private - only works if people "behave". ledger is an explicit list of parts allowed. a guest list if you wish. "party crashing" is not addressed in this proposal. Mike
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution