You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This applies 'open' to all public classes and all of their non-final
public methods, properties, and subscripts, preserving the existing
behavior when SE-0117 is implemented. This transformation was performed
mechanically using the following sed script (run with sed -E):
/(init|mutating|struct|enum|typealias|final|let|static)/ {
p
d
}
/public class/,/^}/ s/public/open/
This should probably be refined soon, but for now this allows us to
implement SE-0117 without immediately requiring updates in all
clients. Specifically, there are two areas where this change may not
be correct to match Foundation on Apple platforms:
- Members in extensions cannot yet be overridden, so none of them have
been marked 'open'.
- Some classes are /not/ intended to be overridden, even in Objective-C.
Specifying this requires input from the Foundation team.
Groundwork for SE-0117 "Allow distinguishing between public access and
public overridability"
0 commit comments