Say I have a simple class like this
abstract class Foo { implicit val impInt: Int = 42 def f[A]()(implicit a: A): A val f2: Int = f() }
There must be something wrong with the way ordering instances are generated, as the code below works. I'd report a bug.
case object types { implicit def buh[X]: List[X] = List() } abstract class Foo { import types._ def f[A]()(implicit l: List[A]): A val f2: Int = f() }