Open retronym opened 10 years ago
A workaround:
trait ILam[A, B]
object O {
type T[E] = LazyExp[E]{
type Val <: ILam[E, Val] with E;
type Let <: ILetLam[E, Val, Let] with E
}
}
final class LetInWaiterLam[
E <: O.T[E]](bs: Map[Idn, E]) extends LetInWaiter[E] {
def in(e: E): E = ???
}
trait Idn
trait LetInWaiter[E]
trait LazyExp[A]
trait ILetLam[A, B, C]
Related to #715 and possibly caused by #611, which was a fix for #610.
As reported: https://groups.google.com/d/msg/scala-user/gPYnBOu4_Jo/c0zzbwV7j8QJ