Swift 2.0: расширения протокола: два протокола с одинаковой ошибкой компиляции сигнатуры функции

Учитывая два протокола и их расширения:

protocol FirstDelegate {
    func someFunc()
}

protocol SecondDelegate {
    func someFunc()
}

extension FirstDelegate {
    func someFunc() {
        print("First delegate")
    }
}

extension SecondDelegate {
    func someFunc() {
        print("Second delegate")
    }
}

и пытается соответствовать им обоим:

class SomeClass: FirstDelegate, SecondDelegate {}

Я получаю ошибку во время компиляции:

Тип SomeClass не соответствует протоколу FirstDelegate

ОбменявшисьFirstDelegate а такжеSecondDelegate:

class SomeClass: SecondDelegate, FirstDelegate {}

производит обратное:

Тип SomeClass не соответствует протоколу SecondDelegate.

Удаление одного из расширений решает проблему. То же самое, обеспечивая реализацию дляsomeFunc() внутриSomeClass.

Эта функция расширения протокола является довольно новой для меня. Также информация об этом в официальном «Руководстве по программированию Swift (Prerelease)» от Apple на данный момент ограничена.

Я нарушил некоторые правила расширений протокола здесь?

Ответы на вопрос(1)

Ваш ответ на вопрос