trait Foo { fun foo(a: Double = 1.0): Double } class FooImpl : Foo { override fun foo(a: Double): Double { return a } } fun box(): String { if (FooImpl().foo() != 1.0) return "fail" if (FooImpl().foo(2.0) != 2.0) return "fail" return "OK" }