Подтвердить что ты не робот

Этот допустимый код Java вызывает ошибку при обновлении javac 1.8 91

Я достаточно уверен, что приведенный ниже код действителен для кода Java 1.8:

import java.util.function.Consumer;

public class UnsolvableClass {

    private Consumer<Object> func = (Object theErrorVariable) -> {};

    public UnsolvableClass() {
        return;
    }

}

Теперь вы можете подумать: "Почему у вас есть возврат в конструкторе?" Ну, это потому, что это минимальный пример кода, который я придумал, который вызывает эту ошибку.

Обратите внимание, что вполне законно иметь оператор return в конструкторе.

javac выплевывает эту ошибку при компиляции.

UnsolvableClass.java:10: error: variable theErrorVariable might not have been initialized
        return;
        ^
1 error

Мне нравится, как он думает, что ошибка происходит в строке "return", когда ошибка связана с... переменная "theErrorVariable" не инициализируется.

Если я удаляю строку "return", все компилируется отлично. Кроме того, если я удаляю оператор лямбда, он также компилируется отлично.

Примечание. Я попытался выполнить компиляцию с помощью компилятора Eclipse java и успешно скомпилирован.

Звучит как очень неясная ошибка в поддержке javac lambda. Я что-то пропустил?

Если это не так, и это реальная ошибка, куда я могу пойти, чтобы сообщить об этом Oracle?

4b9b3361