Ошибка компилятора вывода типа в Eclipse с Java8, но не с Java7

Приведенный ниже фрагмент кода не компилируется в Eclipse Luna с jdk 1.8.0_05. Компилятор Eclipse говорит: Несоответствие типов: невозможно преобразовать из Integer в long

Однако он компилируется в Luna с помощью jdk 1.7, а также компилируется с использованием jdk 1.8 при вызове из командной строки. Может ли кто-нибудь помочь мне определить, что может быть не так? Затмение JDK?

Код работает в: http://www.tryjava8.com/

public class TestJava8Issue {

    public static final int CORE_POOL_SIZE = Math.max(Runtime.getRuntime().availableProcessors() / 2, 2);
    public static final int KEEP_ALIVE_TIME = 60; // seconds

    TestJava8Issue(final int size, final long ttl){
        System.out.println("size: " + size + " " + " ttl: " + ttl);
    }

    public static void main(String[] args) {
        new TestJava8Issue(CORE_POOL_SIZE, get(KEEP_ALIVE_TIME));
    }

    public static <T> T get(T value) {
        return value;
    }
}

Eclipse Java Development Tools
Версия: 3.10.0.v20140501-0200
Идентификатор сборки: I20140501-0200

версия java "1.8.0_05"
Java(TM) SE Runtime Environment (сборка 1.8.0_05-b13)
Java HotSpot(TM) 64-разрядная виртуальная машина сервера (сборка 25.5-b02, смешанный режим)


person Sandeep Kanabar    schedule 21.09.2014    source источник
comment
+1, скорее всего, интересный случай, когда вывод целевого типа сходит с ума (то есть ошибка в компиляторе Eclipse). Возможны обходные пути, такие как get((long)KEEP_ALIVE_TIME), но можно было бы рассмотреть это как ошибку для команды разработчиков eclipse.   -  person Marco13    schedule 21.09.2014
comment
bugs.eclipse.org/bugs/show_bug.cgi?id=440019   -  person gudge    schedule 22.09.2014
comment
stackoverflow.com/questions/27105299/   -  person Ian2thedv    schedule 24.11.2014