Skip to content

Conversation

@kasperk81
Copy link
Contributor

@kasperk81 kasperk81 commented Nov 29, 2025

to supersede #74643

Uses the single argument overloads of string.Substring and (ReadOnly)Span.Slice instead of 2 arguments ones for lowering [start..].

Fixes #47629

@kasperk81 kasperk81 requested a review from a team as a code owner November 29, 2025 20:14
@dotnet-policy-service dotnet-policy-service bot added the Community The pull request was submitted by a contributor who is not a Microsoft employee. label Nov 29, 2025
@kasperk81 kasperk81 force-pushed the slice-substring-single-arg branch 3 times, most recently from 86a04aa to df67e1b Compare November 29, 2025 22:32
@kasperk81 kasperk81 force-pushed the slice-substring-single-arg branch 2 times, most recently from bd1337c to 897cf8c Compare November 29, 2025 23:32
@kasperk81
Copy link
Contributor Author

@RikkiGibson, same error as #74643 (comment).

i can add the following in eng/test-rebuild.ps1 (under # Rebuilds with other issues line), but not sure if that's the correct solution:

net10.0\Microsoft.CodeAnalysis.CSharp.Emit.UnitTests.dll
net10.0\Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests.dll
net10.0\Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests.dll
net10.0\Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests.dll
net472\AnalyzerRunner.exe
net472\BuildBoss.exe
net472\BuildValidator.exe
net472\IdeBenchmarks.exe
net472\IdeCoreBenchmarks.exe
net472\Metrics.Legacy.exe
net472\Metrics.exe
net472\Microsoft.Build.Tasks.CodeAnalysis.Sdk.UnitTests.dll
net472\Microsoft.Build.Tasks.CodeAnalysis.Sdk.dll
net472\Microsoft.Build.Tasks.CodeAnalysis.UnitTests.dll
net472\Microsoft.Build.Tasks.CodeAnalysis.dll
net472\Microsoft.CodeAnalysis.CSharp.CodeStyle.UnitTests.dll
net472\Microsoft.CodeAnalysis.CSharp.CommandLine.UnitTests.dll
net472\Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests.dll
net472\Microsoft.CodeAnalysis.CSharp.EditorFeatures.dll
net472\Microsoft.CodeAnalysis.CSharp.Emit.UnitTests.dll
net472\Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests.dll
net472\Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests.dll
net472\Microsoft.CodeAnalysis.CSharp.EndToEnd.UnitTests.dll
net472\Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler.UnitTests.dll
net472\Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ResultProvider.UnitTests.dll
net472\Microsoft.CodeAnalysis.CSharp.Features.UnitTests.dll
net472\Microsoft.CodeAnalysis.CSharp.IOperation.UnitTests.dll
net472\Microsoft.CodeAnalysis.CSharp.Scripting.Desktop.UnitTests.dll
net472\Microsoft.CodeAnalysis.CSharp.Scripting.UnitTests.dll
net472\Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests.dll
net472\Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests.dll
net472\Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests.dll
net472\Microsoft.CodeAnalysis.CSharp.Test.Utilities.dll
net472\Microsoft.CodeAnalysis.CSharp.Workspaces.UnitTests.dll
net472\Microsoft.CodeAnalysis.CodeStyle.LegacyTestFramework.UnitTestUtilities.dll
net472\Microsoft.CodeAnalysis.CodeStyle.UnitTestUtilities.dll
net472\Microsoft.CodeAnalysis.EditorFeatures.DiagnosticsTests.Utilities.dll
net472\Microsoft.CodeAnalysis.EditorFeatures.Test.Utilities.dll
net472\Microsoft.CodeAnalysis.EditorFeatures.UnitTests.dll
net472\Microsoft.CodeAnalysis.ExpressionEvaluator.ExpressionCompiler.Utilities.dll
net472\Microsoft.CodeAnalysis.ExpressionEvaluator.ResultProvider.Utilities.dll
net472\Microsoft.CodeAnalysis.ExternalAccess.FSharp.dll
net472\Microsoft.CodeAnalysis.ExternalAccess.Razor.UnitTests.dll
net472\Microsoft.CodeAnalysis.Features.DiagnosticsTests.Utilities.dll
net472\Microsoft.CodeAnalysis.Features.Test.Utilities.dll
net472\Microsoft.CodeAnalysis.Features.UnitTests.dll
net472\Microsoft.CodeAnalysis.LanguageServer.Protocol.Test.Utilities.dll
net472\Microsoft.CodeAnalysis.LanguageServer.Protocol.UnitTests.dll
net472\Microsoft.CodeAnalysis.Rebuild.UnitTests.dll
net472\Microsoft.CodeAnalysis.Remote.ServiceHub.UnitTests.dll
net472\Microsoft.CodeAnalysis.Scripting.TestUtilities.dll
net472\Microsoft.CodeAnalysis.Scripting.UnitTests.dll
net472\Microsoft.CodeAnalysis.Test.Utilities.dll
net472\Microsoft.CodeAnalysis.UnitTests.dll
net472\Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.exe
net472\Microsoft.CodeAnalysis.Workspaces.MSBuild.UnitTests.dll
net472\Microsoft.CodeAnalysis.Workspaces.MSBuild.dll
net472\Microsoft.CodeAnalysis.Workspaces.Test.Utilities.dll
net472\Microsoft.CodeAnalysis.Workspaces.UnitTests.dll
net472\Microsoft.CommonLanguageServerProtocol.Framework.UnitTests.dll
net472\Microsoft.VisualStudio.LanguageServices.CSharp.UnitTests.dll
net472\Microsoft.VisualStudio.LanguageServices.New.IntegrationTests.dll
net472\Microsoft.VisualStudio.LanguageServices.Xaml.dll
net472\Replay.exe
net472\Roslyn.Compilers.Extension.dll
net472\Roslyn.Test.PdbUtilities.dll
net472\Roslyn.Test.Performance.Utilities.dll
net472\Roslyn.VisualStudio.Next.UnitTests.dll
net472\RulesetToEditorconfigConverter.exe
net472\SemanticSearch.BuildTask.UnitTests.dll
net472\SemanticSearch.BuildTask.dll
net472\StackDepthTest.exe
net472\TestDiscoveryWorker.exe
net472\VBCSCompiler.UnitTests.dll
net472\VBCSCompiler.exe
net472\csc.exe
net472\vbc.exe
net8.0\Microsoft.Build.Tasks.CodeAnalysis.dll
net8.0\Microsoft.CodeAnalysis.CSharp.Features.UnitTests.dll
net8.0\Microsoft.CodeAnalysis.CSharp.Features.dll
net8.0\Microsoft.CodeAnalysis.CSharp.Test.Utilities.dll
net8.0\Microsoft.CodeAnalysis.CSharp.Workspaces.UnitTests.dll
net8.0\Microsoft.CodeAnalysis.CSharp.Workspaces.dll
net8.0\Microsoft.CodeAnalysis.CSharp.dll
net8.0\Microsoft.CodeAnalysis.ExternalAccess.Copilot.dll
net8.0\Microsoft.CodeAnalysis.ExternalAccess.Razor.Features.dll
net8.0\Microsoft.CodeAnalysis.ExternalAccess.Razor.UnitTests.dll
net8.0\Microsoft.CodeAnalysis.Features.DiagnosticsTests.Utilities.dll
net8.0\Microsoft.CodeAnalysis.Features.Test.Utilities.dll
net8.0\Microsoft.CodeAnalysis.Features.UnitTests.dll
net8.0\Microsoft.CodeAnalysis.Features.dll
net8.0\Microsoft.CodeAnalysis.LanguageServer.Protocol.Test.Utilities.dll
net8.0\Microsoft.CodeAnalysis.LanguageServer.Protocol.dll
net8.0\Microsoft.CodeAnalysis.Rebuild.dll
net8.0\Microsoft.CodeAnalysis.Remote.ServiceHub.UnitTests.dll
net8.0\Microsoft.CodeAnalysis.Remote.ServiceHub.dll
net8.0\Microsoft.CodeAnalysis.Remote.Workspaces.dll
net8.0\Microsoft.CodeAnalysis.Scripting.dll
net8.0\Microsoft.CodeAnalysis.Test.Utilities.dll
net8.0\Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.dll
net8.0\Microsoft.CodeAnalysis.Workspaces.MSBuild.dll
net8.0\Microsoft.CodeAnalysis.Workspaces.Test.Utilities.dll
net8.0\Microsoft.CodeAnalysis.Workspaces.UnitTests.dll
net8.0\Microsoft.CodeAnalysis.Workspaces.dll
net8.0\Microsoft.CodeAnalysis.dll
net8.0\Microsoft.CommonLanguageServerProtocol.Framework.Example.dll
net8.0\Microsoft.CommonLanguageServerProtocol.Framework.UnitTests.dll
net8.0\Replay.dll
net8.0\Roslyn.Test.PdbUtilities.dll
net8.0\VBCSCompiler.dll
net8.0\csc.dll
net8.0\vbc.dll
net9.0\Analyzer.Utilities.UnitTests.dll
net9.0\AnalyzerRunner.dll
net9.0\BoundTreeGenerator.dll
net9.0\BuildActionTelemetryTable.dll
net9.0\BuildValidator.dll
net9.0\CSharpSyntaxGenerator.dll
net9.0\CodeStyleConfigFileGenerator.dll
net9.0\GenerateAnalyzerNuspec.dll
net9.0\GenerateDocumentationAndConfigFiles.dll
net9.0\GenerateRulesMissingDocumentation.dll
net9.0\IOperationGenerator.dll
net9.0\IdeCoreBenchmarks.dll
net9.0\InteractiveHost.UnitTests.dll
net9.0\Microsoft.Build.Tasks.CodeAnalysis.UnitTests.dll
net9.0\Microsoft.Build.Tasks.CodeAnalysis.dll
net9.0\Microsoft.CodeAnalysis.Analyzers.UnitTests.dll
net9.0\Microsoft.CodeAnalysis.CSharp.CommandLine.UnitTests.dll
net9.0\Microsoft.CodeAnalysis.CSharp.EditorFeatures2.UnitTests.dll
net9.0\Microsoft.CodeAnalysis.CSharp.EndToEnd.UnitTests.dll
net9.0\Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ResultProvider.UnitTests.dll
net9.0\Microsoft.CodeAnalysis.CSharp.Features.dll
net9.0\Microsoft.CodeAnalysis.CSharp.IOperation.UnitTests.dll
net9.0\Microsoft.CodeAnalysis.CSharp.Scripting.UnitTests.dll
net9.0\Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests.dll
net9.0\Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests.dll
net9.0\Microsoft.CodeAnalysis.CSharp.Test.Utilities.dll
net9.0\Microsoft.CodeAnalysis.CSharp.Workspaces.dll
net9.0\Microsoft.CodeAnalysis.CSharp.dll
net9.0\Microsoft.CodeAnalysis.ExpressionEvaluator.ResultProvider.Utilities.dll
net9.0\Microsoft.CodeAnalysis.ExternalAccess.HotReload.UnitTests.dll
net9.0\Microsoft.CodeAnalysis.ExternalAccess.Razor.Features.dll
net9.0\Microsoft.CodeAnalysis.Features.DiagnosticsTests.Utilities.dll
net9.0\Microsoft.CodeAnalysis.Features.dll
net9.0\Microsoft.CodeAnalysis.LanguageServer.Protocol.Test.Utilities.dll
net9.0\Microsoft.CodeAnalysis.LanguageServer.Protocol.UnitTests.dll
net9.0\Microsoft.CodeAnalysis.LanguageServer.UnitTests.dll
net9.0\Microsoft.CodeAnalysis.LanguageServer.dll
net9.0\Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers.UnitTests.dll
net9.0\Microsoft.CodeAnalysis.PublicApiAnalyzers.UnitTests.dll
net9.0\Microsoft.CodeAnalysis.Rebuild.UnitTests.dll
net9.0\Microsoft.CodeAnalysis.Rebuild.dll
net9.0\Microsoft.CodeAnalysis.ResxSourceGenerator.UnitTests.dll
net9.0\Microsoft.CodeAnalysis.Scripting.TestUtilities.dll
net9.0\Microsoft.CodeAnalysis.Scripting.UnitTests.dll
net9.0\Microsoft.CodeAnalysis.Scripting.dll
net9.0\Microsoft.CodeAnalysis.Test.Utilities.dll
net9.0\Microsoft.CodeAnalysis.UnitTests.dll
net9.0\Microsoft.CodeAnalysis.Workspaces.MSBuild.UnitTests.dll
net9.0\Microsoft.CodeAnalysis.Workspaces.MSBuild.dll
net9.0\Microsoft.CodeAnalysis.Workspaces.dll
net9.0\Microsoft.CodeAnalysis.dll
net9.0\Microsoft.CommonLanguageServerProtocol.Framework.UnitTests.dll
net9.0\Microsoft.VisualStudio.LanguageServices.DevKit.dll
net9.0\PrepareTests.dll
net9.0\Replay.dll
net9.0\Roslyn.Diagnostics.Analyzers.UnitTests.dll
net9.0\Roslyn.Test.PdbUtilities.dll
net9.0\RulesetToEditorconfigConverter.UnitTests.dll
net9.0\RunTests.dll
net9.0\SemanticSearch.BuildTask.UnitTests.dll
net9.0\SemanticSearch.BuildTask.dll
net9.0\Test.Utilities.dll
net9.0\TestDiscoveryWorker.dll
net9.0\Text.Analyzers.UnitTests.dll
net9.0\VBCSCompiler.UnitTests.dll
net9.0\VBCSCompiler.dll
net9.0\csc.dll
net9.0\linux-arm64\Microsoft.CodeAnalysis.LanguageServer.dll
net9.0\linux-musl-arm64\Microsoft.CodeAnalysis.LanguageServer.dll
net9.0\linux-musl-x64\Microsoft.CodeAnalysis.LanguageServer.dll
net9.0\linux-x64\Microsoft.CodeAnalysis.LanguageServer.dll
net9.0\osx-arm64\Microsoft.CodeAnalysis.LanguageServer.dll
net9.0\osx-x64\Microsoft.CodeAnalysis.LanguageServer.dll
net9.0\vbc.dll
net9.0\win-arm64\Microsoft.CodeAnalysis.LanguageServer.dll
net9.0\win-x64\Microsoft.CodeAnalysis.LanguageServer.dll
netstandard2.0\CSharpSyntaxGenerator.dll
netstandard2.0\Microsoft.CodeAnalysis.AnalyzerUtilities.dll
netstandard2.0\Microsoft.CodeAnalysis.Analyzers.dll
netstandard2.0\Microsoft.CodeAnalysis.BannedApiAnalyzers.dll
netstandard2.0\Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes.dll
netstandard2.0\Microsoft.CodeAnalysis.CSharp.CodeStyle.dll
netstandard2.0\Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler.dll
netstandard2.0\Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ResultProvider.dll
netstandard2.0\Microsoft.CodeAnalysis.CSharp.Features.dll
netstandard2.0\Microsoft.CodeAnalysis.CSharp.PerformanceSensitiveAnalyzers.CodeFixes.dll
netstandard2.0\Microsoft.CodeAnalysis.CSharp.Workspaces.dll
netstandard2.0\Microsoft.CodeAnalysis.CSharp.dll
netstandard2.0\Microsoft.CodeAnalysis.CodeStyle.Fixes.dll
netstandard2.0\Microsoft.CodeAnalysis.CodeStyle.dll
netstandard2.0\Microsoft.CodeAnalysis.ExpressionEvaluator.ExpressionCompiler.dll
netstandard2.0\Microsoft.CodeAnalysis.ExpressionEvaluator.FunctionResolver.dll
netstandard2.0\Microsoft.CodeAnalysis.ExpressionEvaluator.ResultProvider.dll
netstandard2.0\Microsoft.CodeAnalysis.ExternalAccess.Copilot.dll
netstandard2.0\Microsoft.CodeAnalysis.ExternalAccess.OmniSharp.dll
netstandard2.0\Microsoft.CodeAnalysis.ExternalAccess.Razor.Features.dll
netstandard2.0\Microsoft.CodeAnalysis.ExternalAccess.VisualDiagnostics.dll
netstandard2.0\Microsoft.CodeAnalysis.ExternalAccess.Xaml.dll
netstandard2.0\Microsoft.CodeAnalysis.Features.dll
netstandard2.0\Microsoft.CodeAnalysis.InteractiveHost.dll
netstandard2.0\Microsoft.CodeAnalysis.LanguageServer.Protocol.dll
netstandard2.0\Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers.dll
netstandard2.0\Microsoft.CodeAnalysis.PublicApiAnalyzers.CodeFixes.dll
netstandard2.0\Microsoft.CodeAnalysis.PublicApiAnalyzers.dll
netstandard2.0\Microsoft.CodeAnalysis.Rebuild.dll
netstandard2.0\Microsoft.CodeAnalysis.Remote.ServiceHub.dll
netstandard2.0\Microsoft.CodeAnalysis.Remote.Workspaces.dll
netstandard2.0\Microsoft.CodeAnalysis.ResxSourceGenerator.dll
netstandard2.0\Microsoft.CodeAnalysis.Scripting.dll
netstandard2.0\Microsoft.CodeAnalysis.TestAnalyzerReference.dll
netstandard2.0\Microsoft.CodeAnalysis.Workspaces.dll
netstandard2.0\Microsoft.CodeAnalysis.dll
netstandard2.0\Microsoft.CommonLanguageServerProtocol.Framework.Example.dll
netstandard2.0\Microsoft.CommonLanguageServerProtocol.Framework.Package.dll
netstandard2.0\Roslyn.Diagnostics.Analyzers.dll
netstandard2.0\Roslyn.Diagnostics.CSharp.Analyzers.dll
netstandard2.0\Text.Analyzers.dll

@kasperk81 kasperk81 force-pushed the slice-substring-single-arg branch from 897cf8c to eaa6e3d Compare November 30, 2025 01:15
@RikkiGibson
Copy link
Member

I would recommend looking at the definition of the job in the yml file and trying to reproduce/debug the result locally.

@kasperk81
Copy link
Contributor Author

I would recommend looking at the definition of the job in the yml file and trying to reproduce/debug the result locally.

Tried but couldn't. I'm on linux and eng/test-rebuild.ps1 uses sub-commands which require windows.

@AlekseyTs
Copy link
Contributor

@kasperk81 Please provide a clear, detailed description of the change that you are planning to do in this PR.

@kasperk81
Copy link
Contributor Author

@AlekseyTs updated and you can read the original pr for reviews on this change

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area-Compilers Community The pull request was submitted by a contributor who is not a Microsoft employee.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Slice can be simplified does not produce the same code

5 participants