Das Schreiben einer Methode, die einen Typ mit einer Maßeinheit annimmt, führt dazu, dass der Compiler für immer ohne Fehler hängt, jedoch nur, wenn die Kennzahl von einer anderen Kennzahl abgeleitet wird.
[<Measure>] type Measure1
[<Measure>] type Measure2 = Measure1
type Class() =
member _.Method(x: float<Measure2>) = x
Der Fehler ist auch für statische Methoden vorhanden.
Fable-Version: 3.0.1 auf https://fable.io/repl/#
Das klingelt: #1975
@theprash Würden Sie bitte versuchen, metre
anstelle von m
zu verwenden? Es befindet sich im Namespace Microsoft.FSharp.Data.UnitSystems.SI.UnitNames
.
@inosik Ja, das passiert nur, wenn die Maßeinheit von einer anderen abgeleitet wird. Ich werde den Titel und den Repro-Code aktualisieren.
Vielen Dank für die Meldung von @theprash und für den Hinweis @inosik! Es gab eine Version von nonAbbreviatedType
in OverloadSuffix, die immer noch in die Endlosschleife fallen konnte. Es betrifft nur Klassenmitglieder, daher haben wir es vorher nicht gesehen. Ich sollte den Helfer irgendwo in ein gemeinsames Modul einfügen, um diese Probleme zu vermeiden, aber im Moment habe ich nur den Code kopiert. Es wird in der nächsten Version behoben 👍
Hilfreichster Kommentar
Vielen Dank für die Meldung von @theprash und für den Hinweis @inosik! Es gab eine Version von
nonAbbreviatedType
in OverloadSuffix, die immer noch in die Endlosschleife fallen konnte. Es betrifft nur Klassenmitglieder, daher haben wir es vorher nicht gesehen. Ich sollte den Helfer irgendwo in ein gemeinsames Modul einfügen, um diese Probleme zu vermeiden, aber im Moment habe ich nur den Code kopiert. Es wird in der nächsten Version behoben 👍