Menulis metode yang mengambil tipe dengan satuan ukuran menyebabkan kompiler hang selamanya tanpa kesalahan, tetapi hanya jika ukuran diturunkan dari ukuran lain.
[<Measure>] type Measure1
[<Measure>] type Measure2 = Measure1
type Class() =
member _.Method(x: float<Measure2>) = x
Bug juga hadir untuk metode statis.
Versi fabel: 3.0.1 di https://fable.io/repl/#
Ini membunyikan lonceng: # 1975
@theprash Maukah Anda mencoba menggunakan metre
alih-alih m
, tolong? Itu ada di ruang nama Microsoft.FSharp.Data.UnitSystems.SI.UnitNames
.
@inosik Ya, ini hanya terjadi ketika satuan ukuran diturunkan dari yang lain. Saya akan memperbarui judul dan kode repro.
Terima kasih banyak telah melaporkan @theprash dan untuk penunjuk @inosik! Ada versi nonAbbreviatedType
di OverloadSuffix yang masih bisa masuk dalam infinite loop. Itu hanya mempengaruhi anggota kelas jadi kami tidak melihatnya sebelumnya. Saya harus meletakkan pembantu di modul umum di suatu tempat untuk menghindari masalah ini, tetapi untuk saat ini saya hanya menyalin kodenya. Akan diperbaiki di rilis berikutnya 👍
Komentar yang paling membantu
Terima kasih banyak telah melaporkan @theprash dan untuk penunjuk @inosik! Ada versi
nonAbbreviatedType
di OverloadSuffix yang masih bisa masuk dalam infinite loop. Itu hanya mempengaruhi anggota kelas jadi kami tidak melihatnya sebelumnya. Saya harus meletakkan pembantu di modul umum di suatu tempat untuk menghindari masalah ini, tetapi untuk saat ini saya hanya menyalin kodenya. Akan diperbaiki di rilis berikutnya 👍