<div dir="ltr">Hello.<div><br><div><br></div><div>I had a health problem and recently I needed a surgery because of it. Now I&#39;m fine (yay!), but I missed all the discussions and threads at this time.<br></div><div><br></div><div>Reading the SE-0025 proposal, which I find quite valid, I found it the (ugly) keyword `fileprivate` and the lack of a `protected` scope. I know it should be late for you to turn back, but below is my suggestion about the access level scopes the Swift language could implement:</div><div><br></div><div><br></div><div><b>public</b></div><div>Nothing to change. Symbols will be visible to the CONTAINING TYPE and ALL MODULES.</div><div><br></div><div><b>protected *</b></div><div>Symbols visibility will be limited to the CONTAINING TYPE and DERIVED TYPES from the containing type. (Rookies calling `myView.layoutSubviews()` no more...)</div><div><br></div><div><b>internal</b></div><div>Nothing to change. Symbols will be visible to the CONTAINING TYPE and the CURRENT MODULE.</div><div><br></div><div><b>protected internal </b><b>*</b></div><div>Symbols visibility will be limited to the CONTAINING TYPE and DERIVED TYPES from the containing type or the CURRENT MODULE. (They will be `protected` when used by other modules, but `internal` when used by the current module.)<b><br></b></div><div><br></div><div><b>private</b></div><div>The symbols will be visible within the CONTAINING TYPE and the OTHER TYPES in the SAME FILE. (This is the `fileprivate` proposed in SE-0025.)</div><div><br></div><div><b>local </b><b>*</b></div><div>The symbols will be visible within the CONTAINING TYPE ONLY. (No other types accessing my variables anymore... This is the proposed `private`in SE-0025)</div><div><br></div><div><br></div><div><i>The items marked with * denote new access levels. The other remain as they are implemented in Swift 2.x</i><br></div><div><br></div><div><br></div><div>Well... That was it.<br></div><div><br></div><div><br></div><div>Regards,</div><div><br></div><div>Vanderlei Martinelli</div><div><br></div></div></div>