Я пишу интерпретатор и пытался использовать решение из как установить неявное преобразование в разрешить арифметику между числовыми типами для той же проблемы, что и мнебыть в состоянии добавить Boolean + Boolean, Int + Boolean, Boolean + Int, Int + Double, Double + Double и т.д.и здесь часть моего интерпретаторатипа Numeric[WeakLub]
Numeric[WeakLub]
есть идеи как заставить это работать?Я хотел, чтобы метод eval возвращал C, но поскольку C[Int] не является экземпляром C[Any], это не решает мою проблему
C
C[Int]
C[Any]
Из-за стирания типа вы не можете получить во время выполнения параметр типа C. Вам нужно будет использовать манифесты для хранения этой информации. См. Вопросы, связанные с манифестом и стиранием типа.