Opened 11 years ago

Closed 11 years ago

#186 closed バグ (fixed)

ジェネリクスインタフェースの継承ができない

Reported by: イグトランス (egtra) Owned by: dai
Priority: 高-critical Milestone: AB5 CP6
Component: Compiler Version:
Keywords: ジェネリクス インタフェース Cc:

Description

次のコードをコンパイルすると「"I<T>" 存在しないクラスです。」となってしまいます。

Interface I<T>
End Interface

Interface J<T>
	Inherits I<T>
End Interface

IEnumerable<T>, ICollection<T>, IList<T>の継承などで使用したいです。

Change History (5)

comment:1 Changed 11 years ago by dai

インターフェイスの継承はImplementsですね。そういう意味では、エラーメッセージの改良をしたいと思います。

comment:2 Changed 11 years ago by NoWest

Implementsはインターフェイスの実装ではないですか?

Class Hoge
    Implements IHoge
~省略~

インターフェイス間で継承したい場合は意味合い的にもInheritsが良いのではないかと思います。

Interface IHogeEx
    Inherits IHoge
~省略~

comment:3 Changed 11 years ago by dai

Status: newassigned

「インターフェイスをクラスに実装」ではなく、「インターフェイス間の継承」ですね。すみません、二つ上のコメントは勘違いでした。

不具合として対応を実施したいと思います。

comment:4 Changed 11 years ago by dai

[591]にて32bit版のみ対応。ただし、継承時の型パラメータ指定のチェックに甘さがあるため、そちらは引き続き#194にて対応すること!

comment:5 Changed 11 years ago by dai

Resolution: fixed
Status: assignedclosed

[618]にて64bit版も対応。

Note: See TracTickets for help on using tickets.