で、QC で主な Generic系の主要なバグの状況を探ってみました。
#72785 Access Violation Deleting from a generic list of records
#69583 Generics.Collections: TList<T>.Delete crashes for records
TList<T> に Finalize が必要ないシンプルな Record を指定すると Delete で落ちるという
結構深刻な問題。
擬似関数 System.Default が不正なアセンブリコードを吐くらしいという問題ですが
昨日 Closed になりました。次回の更新で直るようです。
#69427 Generics.collection TDictionary iterators may return garbage data
TDictionary の各種イタレータの境界チェックミスで1個余分なごみデータを取得してしまいます。
単純な境界チェックのミスなので次回更新では直るでしょう。
#68791 Generics.Defaults failes for 3 byte data structures
TDictionaryのキーに3バイトの構造体(3バイトの Packed Record)を使うと不正動作と
スタック破壊が起きるという深刻なバグです。3バイトの構造体(Record)限定の現象のようなので、
ちょっと気にかけていればよさそうです。
#68234 Generics.Collections TDictionary Clear method cause AV
TDictionary が Clearメソッドを呼ぶと以後正常に動かなくなるというなさけないバグです。
原因は Clearメソッドの単純ミスなので、次回更新では直るでしょう。
最近のQCの動向を見ていると、Generics関連のバグはどんどん修正されているようです。
当面 Generics は様子を見て、次回のリリースに期待した方がよさそうです。
----------
東京都 日野市 中村拓男