Suppose some java dependency declares an interface...
# announcements
j
Suppose some java dependency declares an interface:
Copy code
public interface JavaIFace {
    void f(String s);
}
A kotlin usage (seperate module) is unsure of nullability, so the clever developer assumes it’s nullable
Copy code
class KotlinImpl : JavaIFace {
    override fun f(s: String?) {}
}
If the library now adds
@NotNull
to the argument,
KotlinImpl::f
overrides nothing and fails to compile now. Correct? This change breaks source compatibility for library author