Idris2
Idris2 copied to clipboard
`%search` cannot find the parameter in the implementation method
Steps to Reproduce
interface Commutative ty (s : Semigroup ty) where
commutative : (x, y : ty) -> x <+> y === y <+> x
Commutative Bool Any where
commutative = ?hole
Expected Behavior
Successful compilation
Observed Behavior
Error: While processing type of commutative. Can't find an implementation for Semigroup Bool.
02:2:44--2:51
1 | interface Commutative ty (s : Semigroup ty) where
2 | commutative : (x, y : ty) -> x <+> y === y <+> x
^^^^^^^
Feels like we need to stage the interface method type at declaration time
so that all the %search are turned into concrete types.