I know you asked for feedback through Artima, but I don't have an account and I wanted to share something.
I enjoyed the article, however I think there's information missing that is likely to be useful. I've discussed with a few people the concept of functionality like this for Java, and inevitably they always ask, what if there's a conflict? So, by your example, what would happen if you had the following: trait A { def foo() = println("a.foo") def bar() = println("a.bar") def baz() = println("a.baz") } trait C { def foo() = println("c.foo") def bar() = println("c.bar") def baz() = println("c.baz") } class B(@proxy a : A, @proxy c : C) { def bar() = println("b.bar") } val a = new A val c = new C val b = new B(a,c) b.baz() // what happens here? Please excuse any poor syntax, I hope you get the idea. So personally, I would hope the Autoproxy plugin to report a compile error at the line: class B(@proxy a : A, @proxy c : C) ...and require that a conflicting method would have to be resolved by explicitly choosing one of the proxies to delegate to. But there's no mention of the policy for this in the article, which I think would be helpful, and from my experience is probably something that people will ask. HTH, Graham > New article on the plugin here: > http://www.artima.com/weblogs/viewpost.jsp?thread=275135 -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to javapo...@googlegroups.com. To unsubscribe from this group, send email to javaposse+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.