Интерфейс запечатывания с помощью дженериков в eclipse
Следующее является законным (т.е. я могу его скомпилировать) и работает на Java 15 с включенными функциями предварительного просмотра (в eclipse 2020-09)
public sealed interface Quantity<T> permits QuantityImpl { }
public record QuantityImpl<T extends Number>(T value) implements Quantity<T> { }
public class Play {
public static void main(String[] args) {
Quantity<Float> q = new QuantityImpl<>(3.0f);
System.out.println(q instanceof Quantity);
}
}
Однако затмение жалуется в
Quantity.java
в
... permits QuantityImpl
. При наведении курсора
QuantityImpl
можно прочитать:
Permitted type QuantityImpl does not declare Quantity<T> as direct super interface
Это, даже если он компилируется, действительная жалоба или ошибка в eclipse?