Al intentar compilar una @FunctionalInterface de Java que tiene más de 1 método no abstracto, se genera un error de compilación.
Sin embargo, al hacer lo mismo en Kotlin, no se generan errores ni advertencias, es decir, la siguiente interface Kotlin se compila correctamente:
@FunctionalInterface interface Foo { fun foo() fun foo(params: Map<String, String>) }¿Es este el comportamiento previsto o un error en el compilador de Kotlin?
Tenga en cuenta que el código de bytes generado para el fragmento de código de Kotlin anterior es equivalente al siguiente fragmento de código de Java (que, correctamente, no se compila):
@FunctionalInterface // metadata omitted public interface Foo { void foo(); void foo(@NotNull Map var1); }El problema KT-25512 se envió al rastreador de problemas de JetBrains (por otro usuario) para informar el hecho de que el compilador se comporta mal cuando @FunctionalInterface se aplica a una interfaz que no es SAM y, a partir del 10 de febrero de 2019, el problema sigue abierto sin actividad .