Skip to content

Commit 7bc65fd

Browse files
Make the comparison of LF version total (#20102)
This quick fix addresses a crash issue when comparing V1 with V2 LF Versions unexpectedly. In the future, we should consider removing this ordering altogether. See issue #20101.
1 parent 255d84f commit 7bc65fd

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/LanguageVersion.scala

+6-4
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,17 @@ object LanguageVersion {
2727

2828
def assertFromString(s: String): LanguageVersion = data.assertRight(fromString(s))
2929

30+
// TODO https://github.com/digital-asset/daml/issues/20101
31+
// Drop the ordering
3032
implicit val Ordering: scala.Ordering[LanguageVersion] = {
3133
case (LanguageVersion(Major.V1, leftMinor), LanguageVersion(Major.V1, rightMinor)) =>
3234
Major.V1.minorVersionOrdering.compare(leftMinor, rightMinor)
35+
case (LanguageVersion(Major.V1, _), LanguageVersion(Major.V2, _)) =>
36+
-1
37+
case (LanguageVersion(Major.V2, _), LanguageVersion(Major.V1, _)) =>
38+
1
3339
case (LanguageVersion(Major.V2, leftMinor), LanguageVersion(Major.V2, rightMinor)) =>
3440
Major.V2.minorVersionOrdering.compare(leftMinor, rightMinor)
35-
case (v1, v2) =>
36-
throw new IllegalArgumentException(
37-
s"cannot compare version ${v1.pretty} with version ${v2.pretty}"
38-
)
3941
}
4042

4143
val AllV1 = Major.V1.supportedMinorVersions.map(LanguageVersion(Major.V1, _))

0 commit comments

Comments
 (0)