■
MIAUのパブリックコメント祭が終わったらだいぶ間が開いてしまったので、ライトなネタを書いてみよう。そういえば今日ちょうど.NETFX 3.5が出たようだ。
Cast from IntPtr to Enum
.NET 2.0のcscでは、IntPtrからEnumに変換できてしまうというバグがあるらしい。
https://bugzilla.novell.com/show_bug.cgi?id=342584
.NET 1.1ではエラーになる。それを確認してみてコメントしたのだけど、その後MarekとMiguelが調べた感じでは、どうもcscはintへのop_Explicitをあえて出力するようだ(enumのunderlying typeがintではなくlongの場合の場合、何が起こるだろうか)。昔IntPtr型の変数にnullが代入できてしまうバグをMicrosoftに報告したことがあるけど(Marekがさっき見つけたところではまだアクティブだったらしい。僕はもはやどう対応されたのかも覚えていない)、このバグも多分修正できないのだろうな。(もちろんバグでない可能性もゼロとは言わないけど。)
difference between .NET 2.0 and 2.0 SP1
Marekがcorcompareで生成したページのリストが出来た。こりゃ都合が良い。
http://mono.ximian.com/class-status/2.0-vs-3.5/index.html