trait Req1
trait Req2 {
def test = Console.println("Test")
}
trait Foo {
val foo : Req1
trait Bar {
val foo : Req2
def test = foo.test
object Test
extends Foo
with Bar
{
object foo extends Req1
def main(argv : Array[String]) = test