Default implementation in interface in multiplatform project

For example I want to define an interface:
In commonMain:

expect interface Test {
    fun test(a: Other1): Other2
}

In jvmMain:

actual interface Test {
    @JvmDefault
    fun test(a: Other1): Other2 {
        ...
    }
}

But the compiler will say

Actual class 'Test' has no corresponding members for expected class members:

    public abstract expect fun test(a: Other1): Other2

    The following declaration is incompatible because modality is different:
        public open actual fun test(a: Other1): Other2

I can’t find any way to allow default implementation in the actual interface.

If you want implement the func ‘test’ you can declare extending his functions on common like this

expect interface Test
expect fun Test.test(a: Other1): Other2

And on Jvm

actual fun Test.test(a: Other1) : Other2 {}

The solution is to add the @JvmDefault annotation to the expect clause. The standard library has been updated to ignore this annotation on non-jvm platforms.