Support Scala traits
johnwright opened this issue · comments
Traits allow default values in a way that's similar to Java 8 default methods, but much easier to invoke via reflection.
Abstract members would still have to comply with Envy's rules (e.g. no parameters). Concrete members would have to be called by the proxy.
Full support for traits is way out of scope, considering the complexity of multiple inheritance/linearisation, constructor code blocks and instance fields.
For now, they work as long as they're used like Java interfaces.