Johann Pardanaud
12/19/2024, 9:21 PMpublic interface FirstInterface {
public fun print(message: String, color: String = "#000000")
}
public interface SecondInterface {
public fun print(message: String)
public fun print(message: String, color: String)
}
I did setup binary-compatibility-validator to check if there are any differences between those two, and there are but I'm not sure why?
public abstract interface class dev/nesk/akkurate/FirstInterface {
public abstract fun print (Ljava/lang/String;Ljava/lang/String;)V
}
public final class dev/nesk/akkurate/FirstInterface$DefaultImpls {
public static synthetic fun print$default (Ldev/nesk/akkurate/FirstInterface;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)V
}
public abstract interface class dev/nesk/akkurate/SecondInterface {
public abstract fun print (Ljava/lang/String;)V
public abstract fun print (Ljava/lang/String;Ljava/lang/String;)V
}
Why can't SecondInterface
have the same binary compatibility as FirstInterface
?