From c8d3fe29d29a5a172a92818d25068e6307949987 Mon Sep 17 00:00:00 2001 From: Jonas Nyrup Date: Sun, 7 Jun 2026 18:54:00 +0200 Subject: [PATCH] Fix coalescing in `LabeledVersion` comparison methods Parenthesize `??` as `+` binds stronger. --- src/DotNet.Releases/LabeledVersion.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/DotNet.Releases/LabeledVersion.cs b/src/DotNet.Releases/LabeledVersion.cs index e8af505..b21a42d 100644 --- a/src/DotNet.Releases/LabeledVersion.cs +++ b/src/DotNet.Releases/LabeledVersion.cs @@ -58,8 +58,8 @@ public static implicit operator LabeledVersion(string input) => v1?._parsedVersion <= v2?._parsedVersion; int IComparable.CompareTo(LabeledVersion? other) => - _parsedVersion?.CompareTo(other?._parsedVersion) ?? 0 + - Label?.CompareTo(other?.Label) ?? 0; + (_parsedVersion?.CompareTo(other?._parsedVersion) ?? 0) + + (Label?.CompareTo(other?.Label) ?? 0); public override bool Equals(object? obj) => ReferenceEquals(this, obj) @@ -69,5 +69,5 @@ public override bool Equals(object? obj) => && Label == other.Label; public override int GetHashCode() => - _parsedVersion?.GetHashCode() ?? 0 + Label?.GetHashCode() ?? 0; + (_parsedVersion?.GetHashCode() ?? 0) + (Label?.GetHashCode() ?? 0); }