Opened 17 years ago

#145 new バグ(ケアレスミス)

Blittableクラス型の変数を作れない

Reported by: イグトランス (egtra) Owned by: dai
Priority: 中-major Milestone: AB5 CP6
Component: Compiler Version:
Keywords: Blittable Cc:

Description

次の3例から、System.Int32型の変数を作ろうとしてもLong型になってしまうことが推測される。ここはSystem.Int32型の変数として存在できるようにして欲しい。

Sub Proc(o As Object)
End Sub

Dim i As System.Int32(100)

Proc(i) '"Proc"の第1パラメータが、LongからSystem.Objectに変換できません。
Sub Proc(o As Object)
End Sub

Dim i = New System.Int32(100) '[警告] *System.Int32からLongに強制変換されています。

Proc(i) '"Proc"の第1パラメータが、LongからSystem.Objectに変換できません。
Sub Proc(o As System.Int32) '[警告] "Proc"の第1パラメータが、*System.Int32からLongに強制変換されています。
End Sub

Proc(New System.Int32(100))

次のようにObject型とするとうまくいく。

Sub Proc(o As Object)
End Sub

Dim i = Nothing As Object
i = New System.Int32(100)

Proc(i)

Change History (0)

Note: See TracTickets for help on using tickets.