From 3624d8be32626ca91d2ec84f465d028fce6bf766 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Wed, 5 Oct 2022 20:27:29 +0000 Subject: [PATCH] [release/7.0.1xx] Update dependencies from dotnet/sdk (#14632) [release/7.0.1xx] Update dependencies from dotnet/sdk - Coherency Updates: - Microsoft.NETCore.App.Runtime.win-x64: from 7.0.0-rtm.22478.9 to 7.0.0-rtm.22480.10 (parent: Microsoft.NET.Sdk) - Microsoft.NETCore.App.Ref: from 7.0.0-rtm.22478.9 to 7.0.0-rtm.22480.10 (parent: Microsoft.NET.Sdk) - VS.Redist.Common.NetCore.TargetingPack.x64.7.0: from 7.0.0-rtm.22478.9 to 7.0.0-rtm.22480.10 (parent: Microsoft.NET.Sdk) - Microsoft.NETCore.App.Host.win-x64: from 7.0.0-rtm.22478.9 to 7.0.0-rtm.22480.10 (parent: Microsoft.NET.Sdk) - Microsoft.NETCore.DotNetHostResolver: from 7.0.0-rtm.22478.9 to 7.0.0-rtm.22480.10 (parent: Microsoft.NET.Sdk) - Microsoft.NETCore.Platforms: from 7.0.0-rtm.22478.9 to 7.0.0-rtm.22480.10 (parent: Microsoft.NET.Sdk) - Microsoft.AspNetCore.App.Ref: from 7.0.0-rtm.22479.3 to 7.0.0-rtm.22503.15 (parent: Microsoft.NET.Sdk) - Microsoft.AspNetCore.App.Ref.Internal: from 7.0.0-rtm.22479.3 to 7.0.0-rtm.22503.15 (parent: Microsoft.NET.Sdk) - Microsoft.AspNetCore.App.Runtime.win-x64: from 7.0.0-rtm.22479.3 to 7.0.0-rtm.22503.15 (parent: Microsoft.NET.Sdk) - VS.Redist.Common.AspNetCore.SharedFramework.x64.7.0: from 7.0.0-rtm.22479.3 to 7.0.0-rtm.22503.15 (parent: Microsoft.NET.Sdk) - dotnet-dev-certs: from 7.0.0-rtm.22479.3 to 7.0.0-rtm.22503.15 (parent: Microsoft.NET.Sdk) - dotnet-user-jwts: from 7.0.0-rtm.22479.3 to 7.0.0-rtm.22503.15 (parent: Microsoft.NET.Sdk) - dotnet-user-secrets: from 7.0.0-rtm.22479.3 to 7.0.0-rtm.22503.15 (parent: Microsoft.NET.Sdk) - Microsoft.Net.Compilers.Toolset: from 4.4.0-3.22478.13 to 4.4.0-3.22480.9 (parent: Microsoft.NET.Sdk) - Microsoft.Build: from 17.4.0-preview-22479-03 to 17.4.0-preview-22480-04 (parent: Microsoft.NET.Sdk) - NuGet.Build.Tasks: from 6.4.0-preview.3.100 to 6.4.0-preview.3.107 (parent: Microsoft.NET.Sdk) - VS.Redist.Common.NetCore.SharedFramework.x64.7.0: from 7.0.0-rtm.22478.9 to 7.0.0-rtm.22480.10 (parent: Microsoft.NET.Sdk) - VS.Redist.Common.NetCore.SharedFramework.x64.7.0: from 7.0.0-rtm.22478.9 to 7.0.0-rtm.22480.10 (parent: Microsoft.NET.Sdk) - Remove backported msbuild patch - Add runtime PR 76471 as patch - Clean up overlapping patches in runtime --- eng/Version.Details.xml | 84 ++--- eng/Versions.props | 34 +- ...001-Updates-to-build-w-latest-roslyn.patch | 36 --- ...iler-version.patch => 0001-PR-76471.patch} | 296 ++++++++++++++++-- 4 files changed, 330 insertions(+), 120 deletions(-) delete mode 100644 src/SourceBuild/tarball/patches/msbuild/0001-Updates-to-build-w-latest-roslyn.patch rename src/SourceBuild/tarball/patches/runtime/{0003-Update-compiler-version.patch => 0001-PR-76471.patch} (51%) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index f68eeb85d..0d2a9006c 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -22,30 +22,30 @@ 78c9eaec7cec210dfaee9a0443d5816b59683697 - + https://github.com/dotnet/runtime - 3fed4a3cf41d85d012b1886b0bb7f7be9543a044 + 809b42196ea09700175785a25eace264995dde75 - + https://github.com/dotnet/runtime - 3fed4a3cf41d85d012b1886b0bb7f7be9543a044 + 809b42196ea09700175785a25eace264995dde75 - + https://github.com/dotnet/runtime - 3fed4a3cf41d85d012b1886b0bb7f7be9543a044 + 809b42196ea09700175785a25eace264995dde75 - + https://github.com/dotnet/runtime - 3fed4a3cf41d85d012b1886b0bb7f7be9543a044 + 809b42196ea09700175785a25eace264995dde75 - + https://github.com/dotnet/runtime - 3fed4a3cf41d85d012b1886b0bb7f7be9543a044 + 809b42196ea09700175785a25eace264995dde75 - + https://github.com/dotnet/runtime - 3fed4a3cf41d85d012b1886b0bb7f7be9543a044 + 809b42196ea09700175785a25eace264995dde75 @@ -53,38 +53,38 @@ https://github.com/dotnet/core-setup 7d57652f33493fa022125b7f63aad0d70c52d810 - + https://github.com/dotnet/runtime - 3fed4a3cf41d85d012b1886b0bb7f7be9543a044 + 809b42196ea09700175785a25eace264995dde75 - + https://github.com/dotnet/aspnetcore - 02d62cfea1eaf37670d6f2f4bbceac3c24a357d0 + a6d7c399f6f86f01c355281e24c1a8d6bcce5b17 - + https://github.com/dotnet/aspnetcore - 02d62cfea1eaf37670d6f2f4bbceac3c24a357d0 + a6d7c399f6f86f01c355281e24c1a8d6bcce5b17 - + https://github.com/dotnet/aspnetcore - 02d62cfea1eaf37670d6f2f4bbceac3c24a357d0 + a6d7c399f6f86f01c355281e24c1a8d6bcce5b17 - + https://github.com/dotnet/aspnetcore - 02d62cfea1eaf37670d6f2f4bbceac3c24a357d0 + a6d7c399f6f86f01c355281e24c1a8d6bcce5b17 - + https://github.com/dotnet/aspnetcore - 02d62cfea1eaf37670d6f2f4bbceac3c24a357d0 + a6d7c399f6f86f01c355281e24c1a8d6bcce5b17 - + https://github.com/dotnet/aspnetcore - 02d62cfea1eaf37670d6f2f4bbceac3c24a357d0 + a6d7c399f6f86f01c355281e24c1a8d6bcce5b17 - + https://github.com/dotnet/aspnetcore - 02d62cfea1eaf37670d6f2f4bbceac3c24a357d0 + a6d7c399f6f86f01c355281e24c1a8d6bcce5b17 https://github.com/dotnet/test-templates @@ -103,22 +103,22 @@ aaaa0c1826f97a9dfcc67e94136bf01010b55f23 - + https://github.com/dotnet/sdk - bc70af55b0f025a2a788c355dbb963869c44dd55 + 7f13ceee7e1e876aa1a3086f5056b7dd8a7f67d3 - + https://github.com/dotnet/sdk - bc70af55b0f025a2a788c355dbb963869c44dd55 + 7f13ceee7e1e876aa1a3086f5056b7dd8a7f67d3 - + https://github.com/dotnet/sdk - bc70af55b0f025a2a788c355dbb963869c44dd55 + 7f13ceee7e1e876aa1a3086f5056b7dd8a7f67d3 - + https://github.com/dotnet/sdk - bc70af55b0f025a2a788c355dbb963869c44dd55 + 7f13ceee7e1e876aa1a3086f5056b7dd8a7f67d3 @@ -149,19 +149,19 @@ linker - + https://github.com/dotnet/roslyn - 933b669cbcdef04b7350cfb368a95e27ff8eeebb + b189d3e226ef8b389560aaece38fa263e2cf1c15 - + https://github.com/dotnet/msbuild - c3fb3150ad660506bb791ad053486edb5a32abf7 + e1930c2ee6b16a0c5afbdc53ec51dbdda4664f80 - + https://github.com/nuget/nuget.client - 451713c59f5206f77c97d093dd5191be13f9d0e0 + 1a082949ae5b6da7ca2cce047396c53ae1afdde7 diff --git a/eng/Versions.props b/eng/Versions.props index 77b1e3513..3c2b803c0 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -50,38 +50,38 @@ - 7.0.0-rtm.22479.3 - 7.0.0-rtm.22479.3 - 7.0.0-rtm.22479.3 - 7.0.0-rtm.22479.3 - 7.0.0-rtm.22479.3 - 7.0.0-rtm.22479.3 - 7.0.0-rtm.22479.3 + 7.0.0-rtm.22503.15 + 7.0.0-rtm.22503.15 + 7.0.0-rtm.22503.15 + 7.0.0-rtm.22503.15 + 7.0.0-rtm.22503.15 + 7.0.0-rtm.22503.15 + 7.0.0-rtm.22503.15 0.2.0 - 7.0.100-rtm.22479.16 - 7.0.100-rtm.22479.16 - 7.0.100-rtm.22479.16 + 7.0.100-rtm.22504.34 + 7.0.100-rtm.22504.34 + 7.0.100-rtm.22504.34 $(MicrosoftNETSdkPackageVersion) $(MicrosoftNETSdkPackageVersion) $(MicrosoftNETSdkPackageVersion) - 7.0.0-rtm.22478.9 + 7.0.0-rtm.22480.10 - 7.0.0-rtm.22478.9 - 7.0.0-rtm.22478.9 - 7.0.0-rtm.22478.9 - 7.0.0-rtm.22478.9 - 7.0.0-rtm.22478.9 - 7.0.0-rtm.22478.9 + 7.0.0-rtm.22480.10 + 7.0.0-rtm.22480.10 + 7.0.0-rtm.22480.10 + 7.0.0-rtm.22480.10 + 7.0.0-rtm.22480.10 + 7.0.0-rtm.22480.10 2.1.0 diff --git a/src/SourceBuild/tarball/patches/msbuild/0001-Updates-to-build-w-latest-roslyn.patch b/src/SourceBuild/tarball/patches/msbuild/0001-Updates-to-build-w-latest-roslyn.patch deleted file mode 100644 index 0869831f0..000000000 --- a/src/SourceBuild/tarball/patches/msbuild/0001-Updates-to-build-w-latest-roslyn.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: MichaelSimons -Date: Thu, 29 Sep 2022 19:04:13 +0000 -Subject: [PATCH] Updates to build w/latest roslyn - -Backport: https://github.com/dotnet/installer/pull/14616 ---- - src/StringTools/InternableString.cs | 2 +- - src/StringTools/StringTools.csproj | 1 - - 2 files changed, 1 insertion(+), 2 deletions(-) - -diff --git a/src/StringTools/InternableString.cs b/src/StringTools/InternableString.cs -index f04d2a9e9..6a2bbcc34 100644 ---- a/src/StringTools/InternableString.cs -+++ b/src/StringTools/InternableString.cs -@@ -33,7 +33,7 @@ namespace Microsoft.NET.StringTools - /// - private int _charIndex; - -- internal Enumerator(ref InternableString str) -+ internal Enumerator(scoped ref InternableString str) - { - _string = str; - _spanIndex = -1; -diff --git a/src/StringTools/StringTools.csproj b/src/StringTools/StringTools.csproj -index fb76d6108..e44f8b3b6 100644 ---- a/src/StringTools/StringTools.csproj -+++ b/src/StringTools/StringTools.csproj -@@ -6,7 +6,6 @@ - true - true - true -- 8.0 - Microsoft.NET.StringTools - true - diff --git a/src/SourceBuild/tarball/patches/runtime/0003-Update-compiler-version.patch b/src/SourceBuild/tarball/patches/runtime/0001-PR-76471.patch similarity index 51% rename from src/SourceBuild/tarball/patches/runtime/0003-Update-compiler-version.patch rename to src/SourceBuild/tarball/patches/runtime/0001-PR-76471.patch index e26213b6b..19feca007 100644 --- a/src/SourceBuild/tarball/patches/runtime/0003-Update-compiler-version.patch +++ b/src/SourceBuild/tarball/patches/runtime/0001-PR-76471.patch @@ -1,11 +1,14 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From 371d1e5b10b3632289b5944fb36bdfd3c032b58e Mon Sep 17 00:00:00 2001 From: Charles Stoner <10732005+cston@users.noreply.github.com> Date: Tue, 20 Sep 2022 14:44:06 -0700 -Subject: [PATCH] Update compiler version +Subject: [PATCH 1/6] Patches for scoped locals -Backport: https://github.com/dotnet/runtime/pull/75935 +https://github.com/dotnet/roslyn/pull/64093 + +This change enforced that `scoped` on a local set the escape scope to +the current block where previously it was incorrectly setting to the +containing method. --- - eng/Versions.props | 2 +- .../Reflection/RuntimeMethodInfo.CoreCLR.cs | 2 ++ .../System/Reflection/DynamicInvokeInfo.cs | 14 ++++++++--- .../src/System/Reflection/MethodBase.cs | 2 ++ @@ -13,23 +16,10 @@ Backport: https://github.com/dotnet/runtime/pull/75935 .../System/Reflection/RuntimeMethodInfo.cs | 2 ++ .../src/System/Text/Json/JsonHelpers.cs | 2 +- .../Utf8JsonWriter.WriteProperties.String.cs | 24 +++++++++++-------- - 8 files changed, 37 insertions(+), 15 deletions(-) + 7 files changed, 36 insertions(+), 14 deletions(-) -diff --git a/eng/Versions.props b/eng/Versions.props -index fe8aac648cd..2f16902347b 100644 ---- a/eng/Versions.props -+++ b/eng/Versions.props -@@ -52,7 +52,7 @@ - -- 4.4.0-3.22452.8 -+ 4.4.0-3.22472.1 - 0.2.0 - - 7.0.100-rc.1.22402.1 diff --git a/src/coreclr/System.Private.CoreLib/src/System/Reflection/RuntimeMethodInfo.CoreCLR.cs b/src/coreclr/System.Private.CoreLib/src/System/Reflection/RuntimeMethodInfo.CoreCLR.cs -index c55ee607da7..4e1246b481b 100644 +index c55ee607da773..4e1246b481b10 100644 --- a/src/coreclr/System.Private.CoreLib/src/System/Reflection/RuntimeMethodInfo.CoreCLR.cs +++ b/src/coreclr/System.Private.CoreLib/src/System/Reflection/RuntimeMethodInfo.CoreCLR.cs @@ -316,7 +316,9 @@ public override MethodImplAttributes GetMethodImplementationFlags() @@ -43,7 +33,7 @@ index c55ee607da7..4e1246b481b 100644 CheckArguments( copyOfParameters, diff --git a/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/DynamicInvokeInfo.cs b/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/DynamicInvokeInfo.cs -index 234f8a16e9c..cc3d8c74a60 100644 +index 234f8a16e9c5c..cc3d8c74a60b7 100644 --- a/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/DynamicInvokeInfo.cs +++ b/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/DynamicInvokeInfo.cs @@ -235,11 +235,15 @@ public DynamicInvokeInfo(MethodBase method, IntPtr invokeThunk) @@ -95,7 +85,7 @@ index 234f8a16e9c..cc3d8c74a60 100644 } diff --git a/src/libraries/System.Private.CoreLib/src/System/Reflection/MethodBase.cs b/src/libraries/System.Private.CoreLib/src/System/Reflection/MethodBase.cs -index 13ff9e34df9..98069a70ef5 100644 +index 13ff9e34df920..98069a70ef55b 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Reflection/MethodBase.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Reflection/MethodBase.cs @@ -236,6 +236,7 @@ BindingFlags invokeAttr @@ -115,7 +105,7 @@ index 13ff9e34df9..98069a70ef5 100644 } diff --git a/src/libraries/System.Private.CoreLib/src/System/Reflection/RuntimeConstructorInfo.cs b/src/libraries/System.Private.CoreLib/src/System/Reflection/RuntimeConstructorInfo.cs -index b1f3222736a..1fd9c177ddb 100644 +index b1f3222736a1a..1fd9c177ddb8a 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Reflection/RuntimeConstructorInfo.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Reflection/RuntimeConstructorInfo.cs @@ -146,7 +146,9 @@ internal void ThrowNoInvokeException() @@ -139,7 +129,7 @@ index b1f3222736a..1fd9c177ddb 100644 CheckArguments( copyOfParameters, diff --git a/src/libraries/System.Private.CoreLib/src/System/Reflection/RuntimeMethodInfo.cs b/src/libraries/System.Private.CoreLib/src/System/Reflection/RuntimeMethodInfo.cs -index 770a59d40eb..bf534c58e70 100644 +index 770a59d40eb91..bf534c58e70ed 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Reflection/RuntimeMethodInfo.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Reflection/RuntimeMethodInfo.cs @@ -143,7 +143,9 @@ private void ThrowNoInvokeException() @@ -153,7 +143,7 @@ index 770a59d40eb..bf534c58e70 100644 CheckArguments( copyOfParameters, diff --git a/src/libraries/System.Text.Json/src/System/Text/Json/JsonHelpers.cs b/src/libraries/System.Text.Json/src/System/Text/Json/JsonHelpers.cs -index 9e9adcd0a52..4706b64753c 100644 +index 9e9adcd0a52ea..4706b64753c97 100644 --- a/src/libraries/System.Text.Json/src/System/Text/Json/JsonHelpers.cs +++ b/src/libraries/System.Text.Json/src/System/Text/Json/JsonHelpers.cs @@ -15,7 +15,7 @@ internal static partial class JsonHelpers @@ -166,7 +156,7 @@ index 9e9adcd0a52..4706b64753c 100644 return reader.HasValueSequence ? reader.ValueSequence.ToArray() : reader.ValueSpan; } diff --git a/src/libraries/System.Text.Json/src/System/Text/Json/Writer/Utf8JsonWriter.WriteProperties.String.cs b/src/libraries/System.Text.Json/src/System/Text/Json/Writer/Utf8JsonWriter.WriteProperties.String.cs -index 65c6fd303c1..7cd0e3b45a4 100644 +index 65c6fd303c13c..7cd0e3b45a4a1 100644 --- a/src/libraries/System.Text.Json/src/System/Text/Json/Writer/Utf8JsonWriter.WriteProperties.String.cs +++ b/src/libraries/System.Text.Json/src/System/Text/Json/Writer/Utf8JsonWriter.WriteProperties.String.cs @@ -112,12 +112,12 @@ private void WriteStringEscapeProperty(scoped ReadOnlySpan propertyName, i @@ -309,3 +299,259 @@ index 65c6fd303c1..7cd0e3b45a4 100644 if (length > JsonConstants.StackallocByteThreshold) { propertyArray = ArrayPool.Shared.Rent(length); + +From 89c6bf4290c7d65ec4d9ffbe92015e4cbf6c4a16 Mon Sep 17 00:00:00 2001 +From: Jared Parsons +Date: Fri, 30 Sep 2022 09:49:03 -0700 +Subject: [PATCH 2/6] Make return and out equivalent for ref safety + +https://github.com/dotnet/roslyn/pull/64318 + +This change allows anything returnable from a method to be assigned to +an `out` parameter. In several places had to add `scoped` to `ref` to +inform compiler they could not be captured in an `out` parameter. +--- + .../System/Reflection/DynamicInvokeInfo.cs | 4 ++-- + .../src/System/Number.BigInteger.cs | 20 ++++++++++++------- + .../Number.NumberToFloatingPointBits.cs | 2 +- + .../RegexCaseEquivalences.cs | 2 +- + 4 files changed, 17 insertions(+), 11 deletions(-) + +diff --git a/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/DynamicInvokeInfo.cs b/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/DynamicInvokeInfo.cs +index cc3d8c74a60b7..4f0106980837d 100644 +--- a/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/DynamicInvokeInfo.cs ++++ b/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/DynamicInvokeInfo.cs +@@ -404,10 +404,10 @@ public DynamicInvokeInfo(MethodBase method, IntPtr invokeThunk) + + Unsafe.Add(ref copyOfParameters, i) = arg!; + +-#pragma warning disable 8500 ++#pragma warning disable 8500, 9094 + ((ByReference*)byrefParameters)[i] = new ByReference(ref (argumentInfo.Transform & Transform.Reference) != 0 ? + ref Unsafe.As(ref Unsafe.Add(ref copyOfParameters, i)) : ref arg.GetRawData()); +-#pragma warning restore 8500 ++#pragma warning restore 8500, 9094 + } + } + +diff --git a/src/libraries/System.Private.CoreLib/src/System/Number.BigInteger.cs b/src/libraries/System.Private.CoreLib/src/System/Number.BigInteger.cs +index c19e7d036b04b..f7e613f962829 100644 +--- a/src/libraries/System.Private.CoreLib/src/System/Number.BigInteger.cs ++++ b/src/libraries/System.Private.CoreLib/src/System/Number.BigInteger.cs +@@ -317,7 +317,7 @@ internal static partial class Number + private int _length; + private fixed uint _blocks[MaxBlockCount]; + +- public static void Add(ref BigInteger lhs, ref BigInteger rhs, out BigInteger result) ++ public static void Add(scoped ref BigInteger lhs, scoped ref BigInteger rhs, out BigInteger result) + { + // determine which operand has the smaller length + ref BigInteger large = ref (lhs._length < rhs._length) ? ref rhs : ref lhs; +@@ -369,7 +369,7 @@ public static void Add(ref BigInteger lhs, ref BigInteger rhs, out BigInteger re + } + } + +- public static int Compare(ref BigInteger lhs, ref BigInteger rhs) ++ public static int Compare(scoped ref BigInteger lhs, scoped ref BigInteger rhs) + { + Debug.Assert(unchecked((uint)(lhs._length)) <= MaxBlockCount); + Debug.Assert(unchecked((uint)(rhs._length)) <= MaxBlockCount); +@@ -427,7 +427,7 @@ public static uint CountSignificantBits(ref BigInteger value) + return (lastIndex * BitsPerBlock) + CountSignificantBits(value._blocks[lastIndex]); + } + +- public static void DivRem(ref BigInteger lhs, ref BigInteger rhs, out BigInteger quo, out BigInteger rem) ++ public static void DivRem(scoped ref BigInteger lhs, scoped ref BigInteger rhs, out BigInteger quo, out BigInteger rem) + { + // This is modified from the libraries BigIntegerCalculator.DivRem.cs implementation: + // https://github.com/dotnet/runtime/blob/main/src/libraries/System.Runtime.Numerics/src/System/Numerics/BigIntegerCalculator.DivRem.cs +@@ -558,6 +558,11 @@ public static void DivRem(ref BigInteger lhs, ref BigInteger rhs, out BigInteger + + if (digit > 0) + { ++ // rem and rhs have different lifetimes here and compiler is warning ++ // about potential for one to copy into the other. This is a place ++ // ref scoped parameters would alleviate. ++ // https://github.com/dotnet/roslyn/issues/64393 ++#pragma warning disable CS9080 + // Now it's time to subtract our current quotient + uint carry = SubtractDivisor(ref rem, n, ref rhs, digit); + +@@ -571,6 +576,7 @@ public static void DivRem(ref BigInteger lhs, ref BigInteger rhs, out BigInteger + + Debug.Assert(carry == 1); + } ++#pragma warning restore CS9080 + } + + // We have the digit! +@@ -693,7 +699,7 @@ public static uint HeuristicDivide(ref BigInteger dividend, ref BigInteger divis + return quotient; + } + +- public static void Multiply(ref BigInteger lhs, uint value, out BigInteger result) ++ public static void Multiply(scoped ref BigInteger lhs, uint value, out BigInteger result) + { + if (lhs._length <= 1) + { +@@ -739,7 +745,7 @@ public static void Multiply(ref BigInteger lhs, uint value, out BigInteger resul + } + } + +- public static void Multiply(ref BigInteger lhs, ref BigInteger rhs, out BigInteger result) ++ public static void Multiply(scoped ref BigInteger lhs, scoped ref BigInteger rhs, out BigInteger result) + { + if (lhs._length <= 1) + { +@@ -1032,7 +1038,7 @@ public void Multiply(uint value) + Multiply(ref this, value, out this); + } + +- public void Multiply(ref BigInteger value) ++ public void Multiply(scoped ref BigInteger value) + { + if (value._length <= 1) + { +@@ -1115,7 +1121,7 @@ public static void SetUInt64(out BigInteger result, ulong value) + } + } + +- public static void SetValue(out BigInteger result, ref BigInteger value) ++ public static void SetValue(out BigInteger result, scoped ref BigInteger value) + { + int rhsLength = value._length; + result._length = rhsLength; +diff --git a/src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs b/src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs +index e88014c3a9518..bec85ff737bab 100644 +--- a/src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs ++++ b/src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs +@@ -794,7 +794,7 @@ public FloatingPointInfo(ushort denormalMantissaBits, ushort exponentBits, int m + 0x8e679c2f5e44ff8f, 0x570f09eaa7ea7648 + }; + +- private static void AccumulateDecimalDigitsIntoBigInteger(ref NumberBuffer number, uint firstIndex, uint lastIndex, out BigInteger result) ++ private static void AccumulateDecimalDigitsIntoBigInteger(scoped ref NumberBuffer number, uint firstIndex, uint lastIndex, out BigInteger result) + { + BigInteger.SetZero(out result); + +diff --git a/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexCaseEquivalences.cs b/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexCaseEquivalences.cs +index 7c65c63e90dfb..72a61998b8ccf 100644 +--- a/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexCaseEquivalences.cs ++++ b/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexCaseEquivalences.cs +@@ -33,7 +33,7 @@ internal static partial class RegexCaseEquivalences + /// If is involved in case conversion, then equivalences will contain the + /// span of character which should be considered equal to in a case-insensitive comparison. + /// if is involved in case conversion; otherwise, +- public static bool TryFindCaseEquivalencesForCharWithIBehavior(char c, CultureInfo culture, ref RegexCaseBehavior mappingBehavior, out ReadOnlySpan equivalences) ++ public static bool TryFindCaseEquivalencesForCharWithIBehavior(char c, CultureInfo culture, scoped ref RegexCaseBehavior mappingBehavior, out ReadOnlySpan equivalences) + { + if ((c | 0x20) == 'i' || (c | 0x01) == '\u0131') + { + +From 2b96bc0edcf67fed4d18dc155e045bc9a4328c64 Mon Sep 17 00:00:00 2001 +From: Jared Parsons +Date: Fri, 30 Sep 2022 10:52:30 -0700 +Subject: [PATCH 3/6] Warnings on managed pointer types + +https://github.com/dotnet/roslyn/pull/64294 + +Compiler now issues warnings for pointer operations involving managed +types +--- + .../src/System/Reflection/Emit/DynamicMethod.cs | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/coreclr/System.Private.CoreLib/src/System/Reflection/Emit/DynamicMethod.cs b/src/coreclr/System.Private.CoreLib/src/System/Reflection/Emit/DynamicMethod.cs +index a2d74336bee2b..bf455a6b63f69 100644 +--- a/src/coreclr/System.Private.CoreLib/src/System/Reflection/Emit/DynamicMethod.cs ++++ b/src/coreclr/System.Private.CoreLib/src/System/Reflection/Emit/DynamicMethod.cs +@@ -504,6 +504,9 @@ Signature LazyCreateSignature() + Span shouldCopyBackParameters = new(ref argStorage._copyBack0, argCount); + + StackAllocatedByRefs byrefStorage = default; ++#pragma warning disable CS8500 ++ IntPtr* pByRefStorage = (IntPtr*)&byrefStorage; ++#pragma warning restore CS8500 + IntPtr* pByRefStorage = (IntPtr*)&byrefStorage; + + CheckArguments( + +From 28ada4a0580acc72a9e9f658b93b163017d23b63 Mon Sep 17 00:00:00 2001 +From: Jared Parsons +Date: Fri, 30 Sep 2022 10:26:17 -0700 +Subject: [PATCH 4/6] Update compiler version + +--- + eng/Versions.props | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/eng/Versions.props b/eng/Versions.props +index b839658f454ee..ff8f04758c364 100644 +--- a/eng/Versions.props ++++ b/eng/Versions.props +@@ -53,7 +53,7 @@ + +- 4.4.0-3.22452.8 ++ 4.4.0-3.22479.16 + 0.2.0 + + 7.0.100-rc.1.22402.1 + +From cb7618ebf71639627549db8945097efe82b1a27c Mon Sep 17 00:00:00 2001 +From: Jared Parsons +Date: Fri, 30 Sep 2022 15:50:08 -0700 +Subject: [PATCH 5/6] Fixup + +--- + .../src/System/Reflection/Emit/DynamicMethod.cs | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/coreclr/System.Private.CoreLib/src/System/Reflection/Emit/DynamicMethod.cs b/src/coreclr/System.Private.CoreLib/src/System/Reflection/Emit/DynamicMethod.cs +index bf455a6b63f69..84bc2f8ebd3c4 100644 +--- a/src/coreclr/System.Private.CoreLib/src/System/Reflection/Emit/DynamicMethod.cs ++++ b/src/coreclr/System.Private.CoreLib/src/System/Reflection/Emit/DynamicMethod.cs +@@ -507,7 +507,6 @@ Signature LazyCreateSignature() + #pragma warning disable CS8500 + IntPtr* pByRefStorage = (IntPtr*)&byrefStorage; + #pragma warning restore CS8500 +- IntPtr* pByRefStorage = (IntPtr*)&byrefStorage; + + CheckArguments( + copyOfParameters, + +From 46af7972a57e3378e53ba98cec65bee61850f58b Mon Sep 17 00:00:00 2001 +From: Jared Parsons +Date: Fri, 30 Sep 2022 16:03:31 -0700 +Subject: [PATCH 6/6] Ref safety rules attribute + +--- + .../ILCompiler.Compiler.Tests.Assets.csproj | 1 + + .../ILCompiler.Compiler.Tests/ILCompiler.Compiler.Tests.csproj | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/src/coreclr/tools/aot/ILCompiler.Compiler.Tests/ILCompiler.Compiler.Tests.Assets/ILCompiler.Compiler.Tests.Assets.csproj b/src/coreclr/tools/aot/ILCompiler.Compiler.Tests/ILCompiler.Compiler.Tests.Assets/ILCompiler.Compiler.Tests.Assets.csproj +index ea167e092b031..605d407443da2 100644 +--- a/src/coreclr/tools/aot/ILCompiler.Compiler.Tests/ILCompiler.Compiler.Tests.Assets/ILCompiler.Compiler.Tests.Assets.csproj ++++ b/src/coreclr/tools/aot/ILCompiler.Compiler.Tests/ILCompiler.Compiler.Tests.Assets/ILCompiler.Compiler.Tests.Assets.csproj +@@ -8,6 +8,7 @@ + netstandard2.0 + + true ++ noRefSafetyRulesAttribute=true + + + +diff --git a/src/coreclr/tools/aot/ILCompiler.Compiler.Tests/ILCompiler.Compiler.Tests.csproj b/src/coreclr/tools/aot/ILCompiler.Compiler.Tests/ILCompiler.Compiler.Tests.csproj +index 5967b093841b1..b09ef31312661 100644 +--- a/src/coreclr/tools/aot/ILCompiler.Compiler.Tests/ILCompiler.Compiler.Tests.csproj ++++ b/src/coreclr/tools/aot/ILCompiler.Compiler.Tests/ILCompiler.Compiler.Tests.csproj +@@ -14,6 +14,7 @@ + x86;x64 + AnyCPU + true ++ noRefSafetyRulesAttribute=true + + +