scalaz-plugin
scalaz-plugin copied to clipboard
Polymorphic function optimizer, some other cases
~~It doesn't yet work in some cases like~~
object A {
val foo = new Obj {
def foo[A]: Foo[A] = ...
}
}
~~or~~
trait Obj {
def foo[A]: Foo[A] = ...
}
object A extends Obj
EDIT: works in both cases.
The only remaining case is
object A {
val a = new C // not a refinement
}
class C {
def foo[A]: Foo[A] = ...
}