## Compiler version 3.3.1 ## Minimized code ```scala //> using scala "3.3.1" trait Food[+A] trait Animal object Animal { extension (animal: Animal) def consume[A](weights: Food[A]): A = ??? } val animal: Animal = ??? val choices: List[Food[Int]] = ??? val result0: List[Any] = choices.map(animal.consume) // compiles // val result1: List[Int] = choices.map(animal.consume) // does not compile val result2: List[Int] = choices.map(food => animal.consume(food)) val result3: List[Int] = choices.map(animal.consume(_)) ``` ## Output ```scala Found: Food[Any] => Any Required: Food[Int] => Int ``` ## Expectation `result1` either compiles or raises a clear error message that such usage is forbidden.