сигнатуры одинаковые но чета ругается
дай явно тип или move_first = if reversed { ... } else { ... }
а нет у тебя генериков в функции?
нету всё лаконично
у функций разные типы. юзай Either
Чисто в теории замыкания без окружения можно привести к fn как у тебя на скриншоте, но почти всегда это самое окружение появляется и все ломаетс
Или Either, или явно объяви тип переменной как fn(...) -> ... с нужной сигнатурой
Иначе компилятор по первому присваиванию выбирает слишком специфичный тип (тип первого метода, собственно), в который второй уже не влезает
Обсуждают сегодня