Closed
Description
Compiler version
3.2.2-RC1-bin-20221003-5d1497d-NIGHTLY
Minimized code
trait Foo[A]:
type Out
trait Bar[A]:
type Out
def foo[A](using f: Foo[A])(using b: Bar[f.Out]): b.Out = ???
Output
foo
is shown in the docs as
def foo[A](using f: Foo[A])(using b: Bar[Out]): Out
Expectation
The path prefixes should not be lost from the result type, so Out
should be f.Out
or b.Out
, as defined in the source code. The prefixes should be always preserved - even if there's no ambiguity within a signature.