型引数の範囲が正しく認識されないバグ?
Javac 1.5.0_06 でこのコードがコンパイルできない。これはバグだよな? それとも俺が間違ってる?
class MyClass<T> {
class MyInnerClass<U extends T> {
}
public static void main(String[] args) {
new MyClass<Object>().new MyInnerClass<String>();
}
}
ちなみにコンパイラが出すエラーメッセージはこんな感じ。
MyClass.java:6: 型パラメータ java.lang.String はその範囲を越えています。
new MyClass<Object>().new MyInnerClass<String>();
^
エラー 1 個
やっぱりバグだとしか思えないのでバグデータベースに投稿しておいた。
| 固定リンク

コメント