<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><br class=""><blockquote type="cite" class=""><div class=""><div class="" style="font-family: Helvetica, Arial; font-size: 13px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div class=""><blockquote type="cite" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; padding-left: 5px; border-left-width: 1px !important; border-left-color: rgb(0, 64, 128) !important;" class=""><span style="font-family: 'helvetica Neue', helvetica; font-size: 14px;" class="">> Fact is, you can replace every occurrence of "private" with "fileprivate", and your source would compile as before, whereas fileprivate saves us from a "friend"-keyword.</span></blockquote></div><p class="">This is certainly a source-breaking change. Consider:</p><blockquote type="cite" style="border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; padding-left: 5px; border-left-width: 1px !important; border-left-color: rgb(0, 64, 128) !important;" class=""><p class="">struct Foo {</p><p class=""> fileprivate func foo()->String {return "foo" }</p><p class=""> private func foo()->Int {return 2} </p><p class="">}</p><p class="">print("\(Foo().foo())")</p></blockquote><p class="">Replacing “private” with “fileprivate” here will introduce a compile error.</p></div></div></blockquote></div>True indeed… but can we agree that this is just an hypothetic example, and no issue that is likely to happen in productive code?<div class="">Or is this actually taken from one of the projects you measured?</div></body></html>