Commits

Jordan Rose committed 1ad7651e19b
Prefer compiler-provided conformances to those required by other protocols. Previously, we'd warn on this code: enum Suit { case Spades, Hearts, Clubs, Diamonds } extension Suit : Comparable {} func <(...) {...} because both Comparable and the synthesized conformance to Hashable imply a conformance to Equatable. However, that's silly: Suit already has a synthesized conformance to Equatable associated with the main 'enum' declaration, not the extension. These compiler-provided conformances are part of the language and something people rely on, so rank them higher than conformances implied by conforming to a refined protocol. rdar://problem/21007417 Swift SVN r28849