I would just like to voice my support for the current proposal and apologize in 
advance if this has already been adressed but the restriction on superclasses 
having to also be open is something I find awkward to say the least. To me it 
just seems that by doing so the issue of avoiding subclassing of a class that 
simply shouldn’t be subclassed gets a bit moot.

As the current proposal states: "These are conservative restrictions that 
reduce the scope of this proposal; it will be possible to revisit them in a 
later proposal.”

I’m not sure if allowing a superclass to not have to be open would increase the 
scope by that much, although I understand this isn’t necessarily the case.

Just to make sure I got everything right, as it stands this would be possible:

/// Module A

public open class SomeSuperClass {
    // Unsuitable for subclassing
}

public open class SomeClass: SomeSuperClass {
        // Suitable for subclassing
}

/// Module B

class SubClass: SomeSuperClass {
        /// …
}

Even though the point of subclassing should be SomeClass there’s really nothing 
preventing the caller from subclassing the SomeSuperClass which is unsuitable 
for it.

- Davor
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to