> On May 20, 2016, at 11:52 AM, David Waite via swift-evolution > <[email protected]> wrote: > >> >> On May 20, 2016, at 10:43 AM, Brandon Knope via swift-evolution >> <[email protected] <mailto:[email protected]>> wrote: >> >> From the compilers/runtimes perspective why couldn't the declaration >> automatically be included in the main protocol definition as if it was >> defined there? > > Assuming you have protocol extenders and protocol implementors as different > people, they are competing in the same problem space. The odds of an > unintentional name collision is higher than normal, in which case the person > implementing a protocol just unknowingly changed behavior for everyone > relying on that extension. > > The implementors can’t look at the protocol to find out the list of > requirements on the protocol anymore - they have to also find every extension.
Implementers have to find every extension *already*, since there’s no other way to know if a method on a protocol actually needs to be implemented, or whether it already has a default implementation. Failure to do so results in a lot of reinventing the wheel. Charles
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
