Я заметил некоторый конфликт между неявным конструктором и GroovyTruth.
Рассмотрим следующий код
assert new File('/') == ['/'] as File
assert Boolean.TRUE == ["false"] as Boolean
Первая строка — неявный вызов конструктора File(String). Вторая строка просто возвращает true, потому что список не пуст. Но он может (должен?) вызывать логический (String) конструктор с другим значением результата (false).
Это ошибка, задокументированная функция или что-то еще? еще? Должен ли я сообщить об этом как об ошибке?