Будни программиста или редкий случай ошибки в компиляторе — 2

от автора

Привет. Продолжаем сталкиваться с ошибками компилятора и его расхождением с поведением штатных анализаторов IDE. Имеем следующий код:

public class X {     public static <T> T getValue(T t1, T t2) {         return t1;     }      public void testGenerics(Comparable<String> s) {         int i = getValue(0, s);     } } 

Вопрос: компилируется ли код?

Ответ: должен, но не будет.

Фишка в том, в компиляторе баг: при выведении типов не работает autounboxing, и это печально. Баг поправили, но только в Java 7. Пруф.

P.S. Смех опять же в том, что та же популярная IDE из предыдущего поста ошибку не показывает. Эх…
P.P.S. текст ошибки:

ссылка на оригинал статьи http://habrahabr.ru/post/157681/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *