I have some troubles having Scala to infer the right type from a type projection.
Consider the following:
trait Foo { type X } trait Bar extends Foo {
The program compiles by adding this implicit conversion in the context:
implicit def f(x: Bar#X): Foo#X = x
As this implicit conversion is correct for any F <: Foo, I wonder why the compiler does not do that by itself.
F <: Foo