Skip to content

Commit 7ff1a45

Browse files
fix: relax SignificantNumber extension constraints
Change the extension methods to take `TInput` directly with a generic `where TInput : INumber<TInput>` constraint. This preserves the same behavior while avoiding issues with static abstract interface members.
1 parent 0925488 commit 7ff1a45

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

SignificantNumber/SignificantNumberExtensions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public static class SignificantNumberExtensions
2323
/// If the input number is already a <see cref="SignificantNumber"/>, it is returned as-is.
2424
/// Otherwise, the input is converted to a <see cref="PreciseNumber"/> and then to a <see cref="SignificantNumber"/>.
2525
/// </remarks>
26-
public static SignificantNumber ToSignificantNumber<TInput>(this INumber<TInput> input)
26+
public static SignificantNumber ToSignificantNumber<TInput>(this TInput input)
2727
where TInput : INumber<TInput>
2828
{
2929
// Ensure.NotNull cannot be used with INumber<T> due to CS8920 (static abstract interface members)
@@ -55,7 +55,7 @@ public static SignificantNumber ToSignificantNumber<TInput>(this INumber<TInput>
5555
/// <exception cref="ArgumentOutOfRangeException">
5656
/// Thrown if <paramref name="significantDigits"/> is less than or equal to zero.
5757
/// </exception>
58-
public static SignificantNumber ToSignificantNumber<TInput>(this INumber<TInput> input, int significantDigits)
58+
public static SignificantNumber ToSignificantNumber<TInput>(this TInput input, int significantDigits)
5959
where TInput : INumber<TInput>
6060
{
6161
if (significantDigits <= 0)

0 commit comments

Comments
 (0)