Multi Platform project with JVM typealias - strange error message


#1

I have the following common code declaration:

expect open class Observable<T>  {}

With a JVM Implementation like this:

actual typealias Observable<T> = rx.Observable<T>

Now I have an interface in my common code, with the following method:

interface OrcaSource {
     fun observeModelStore(): Observable<ModelStoreChangeEvent>
}

If I try to implement this interface in the JVM package I get the following error:

“Return type is 'ch.viseon.orca2.rx.Observable /* = rx.Observable */ which is not a subtype of overridden public abstract fun observeModelStore(): ch.viseon.orca2.rx.Observable defined in ch.viseon.orca2.common.OraSource”

I don’t understand this error message. On the JVM Observable is a type alias to my declaration, so it should be interchangeable to my declaration - should it not?


#2

This is a known issue that is being worked on: https://youtrack.jetbrains.com/issue/KT-22868