Ошибка компилятора XCode не выделена в редакторе

Xcode начал отображать ошибку компилятора, как только я открываю свой проект (т.е. сборка не требуется), но все это немного странно. Одна ошибка отображается во вкладке времени сборки, но когда я открываю окно сообщения компилятора, появляются три идентичные ошибки, распределенные по нескольким файлам. Ошибки не выделяются в окне редактора, поэтому я не могу их отследить, но, поскольку они отмечены в файлах, к которым я недавно не прикасался, я подозревал, что проблема была в Xcode, а не в моем коде.

Ошибка отображается во временном окне сборки как:

Swift Compiler Error - cannot convert value of type '()' to closure result type 'Observable<Void>'

В окне сообщений:

<unknown>:0: error: cannot convert value of type '()' to closure result type 'Observable<Void>'

Эти ошибки распределяются по трем файлам в окне сообщений, каждый из которых использует, по крайней мере, одну зависимость RxSwift (RxDataSources, RxSwift и RxCocoa), и, как отмечалось выше, я не затрагивал пару из них в течение недели или двух, и мои зависимости не были недавно изменены, поэтому я могу быть уверен, что они не являются проблемой.

Я сделал все как обычно (очистить, очистить кеш, перезагрузить компьютер, проверил настройки отображения ошибок, выполнить откат к более ранней версии, обновить зависимости, переустановить XCode), но ошибка сохраняется, и я фактически заблокирован от дальнейшего развития, пока не смогу решить это. Сказать, что я расстроен, было бы преуменьшением!

Я использую Xcode 10.2.1 (10E1001) Помогите!

1 ответ

Я разобрал приложение, а затем добавил в каждый класс по отдельности, пока ошибка снова не появилась. Проблема заключалась в опечатке (синтаксической ошибке) в структуре модели представления, в частности в строке:

let editTapped = CocoaAction { return }

который должен был быть:

let editTapped = CocoaAction {
    // do stuff
    return .empty()
}

Я предполагаю, что сбой компилятора в подсвечивании ошибки на панели редактора является ошибкой, поэтому я сообщу об этом (если у кого-то нет взглядов на обратное?), Так как это было очень много времени, чтобы разобраться. Странно было то, что откат к предыдущей рабочей версии не устранил ее - мне пришлось удалить все приложение, а затем пересобрать его с нуля, вручную добавив файлы, когда я пошел. Weird...

Другие вопросы по тегам