trait Trait1 {
  // need more work before this one works
  // @inline
  def foo2(n: Int) = n*n
}

trait Trait2 {
  @inline def foo3(n: Int) = 1
}

class Base extends Trait1 {
  @inline def foo(n: Int) = n
}

object Test extends Base with Trait2 {
  def main(args: Array[String]) = {
    println(foo(42) + foo2(11) + foo3(2))
  }
}