У меня есть интерфейс для преобразования вещей одного типа this
в другой тип target
.
interface ConvertibleTo (target : Type) (this : Type) where
convert : this -> target
Можно ли как-то написать функцию, которая принимает некоторое значение this
, затем target
type, а затем выдает значение target
type?
Я пытался написать это
-- Example: 1 `as` String = "1"
as : ConvertibleTo target this => this -> (target : Type) -> target
as value _ = convert value
, но оно не работает. Компилятор говорит:
|
27 | as value _ = convert value
| ~~~~~~~~~~~~~
When checking right hand side of as with expected type
iType
Can't find implementation for ConvertibleTo iType this
И я не понимаю это сообщение, потому что я уже добавил ограничение.