Это потому, что когда kotlin видит оператор ==
, он ищет только метод .equals(other: Any?): Boolean
, а не любые другие перегрузки.Если тип не имеет именно эту перегрузку, он не будет найден при использовании оператора ==
.Кажется, у вашего типа есть другая перегрузка, например, .equals(other: ExitStatus)
, которая используется, когда вы вызываете ее явно.
Подробнее о перегрузке оператора Kotlin.