Updating generic math to support user-defined checked operators (#67714)
authorTanner Gooding <tagoo@outlook.com>
Fri, 8 Apr 2022 07:07:28 +0000 (00:07 -0700)
committerGitHub <noreply@github.com>
Fri, 8 Apr 2022 07:07:28 +0000 (00:07 -0700)
commit7c21927c257f8eff7ceb3f3c0fd4ee2c8fe6c414
tree765948570d4874630e3bcd229a9cd17ab55299b9
parentc093bb8f2a6f602943affbda995ce860ef25f494
Updating generic math to support user-defined checked operators (#67714)

* Uncomment the user-defined checked operators for generic math

* Change SA1000 to be a suggestion until https://github.com/DotNetAnalyzers/StyleCopAnalyzers/issues/3478 can be resolved

* Regenerating the System.Runtime ref assembly

* Adding tests covering user-defined checked operators in generic math

* Remove the checked() context from integer division, since there is no behavioral difference on .NET

* Ensure the doc comments around user-defined checked operators are uncommented

* Fix some doc comments that shouldn't have been uncommented yet
40 files changed:
eng/CodeAnalysis.src.globalconfig
src/libraries/System.Private.CoreLib/src/System/Byte.cs
src/libraries/System.Private.CoreLib/src/System/Char.cs
src/libraries/System.Private.CoreLib/src/System/DateTime.cs
src/libraries/System.Private.CoreLib/src/System/DateTimeOffset.cs
src/libraries/System.Private.CoreLib/src/System/Decimal.cs
src/libraries/System.Private.CoreLib/src/System/Double.cs
src/libraries/System.Private.CoreLib/src/System/Half.cs
src/libraries/System.Private.CoreLib/src/System/Int16.cs
src/libraries/System.Private.CoreLib/src/System/Int32.cs
src/libraries/System.Private.CoreLib/src/System/Int64.cs
src/libraries/System.Private.CoreLib/src/System/IntPtr.cs
src/libraries/System.Private.CoreLib/src/System/Numerics/IAdditionOperators.cs
src/libraries/System.Private.CoreLib/src/System/Numerics/IDecrementOperators.cs
src/libraries/System.Private.CoreLib/src/System/Numerics/IDivisionOperators.cs
src/libraries/System.Private.CoreLib/src/System/Numerics/IIncrementOperators.cs
src/libraries/System.Private.CoreLib/src/System/Numerics/IMultiplyOperators.cs
src/libraries/System.Private.CoreLib/src/System/Numerics/ISubtractionOperators.cs
src/libraries/System.Private.CoreLib/src/System/Numerics/IUnaryNegationOperators.cs
src/libraries/System.Private.CoreLib/src/System/SByte.cs
src/libraries/System.Private.CoreLib/src/System/Single.cs
src/libraries/System.Private.CoreLib/src/System/TimeOnly.cs
src/libraries/System.Private.CoreLib/src/System/TimeSpan.cs
src/libraries/System.Private.CoreLib/src/System/UInt16.cs
src/libraries/System.Private.CoreLib/src/System/UInt32.cs
src/libraries/System.Private.CoreLib/src/System/UInt64.cs
src/libraries/System.Private.CoreLib/src/System/UIntPtr.cs
src/libraries/System.Runtime/ref/System.Runtime.cs
src/libraries/System.Runtime/tests/System/ByteTests.GenericMath.cs
src/libraries/System.Runtime/tests/System/CharTests.GenericMath.cs
src/libraries/System.Runtime/tests/System/GenericMathHelpers.cs
src/libraries/System.Runtime/tests/System/Int16Tests.GenericMath.cs
src/libraries/System.Runtime/tests/System/Int32Tests.GenericMath.cs
src/libraries/System.Runtime/tests/System/Int64Tests.GenericMath.cs
src/libraries/System.Runtime/tests/System/IntPtrTests.GenericMath.cs
src/libraries/System.Runtime/tests/System/SByteTests.GenericMath.cs
src/libraries/System.Runtime/tests/System/UInt16Tests.GenericMath.cs
src/libraries/System.Runtime/tests/System/UInt32Tests.GenericMath.cs
src/libraries/System.Runtime/tests/System/UInt64Tests.GenericMath.cs
src/libraries/System.Runtime/tests/System/UIntPtrTests.GenericMath.cs