Revert "Add methods from #27912 (Flow System.Text.Rune through more APIs)"#120138
Merged
Revert "Add methods from #27912 (Flow System.Text.Rune through more APIs)"#120138
Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR reverts the functionality introduced in #117168 that added Rune-based APIs to various .NET types. The revert removes support for working with System.Text.Rune objects in StringBuilder, String, TextInfo, TextWriter, and related test infrastructure.
- Removes Rune-based methods from core .NET types (StringBuilder, String, TextInfo, TextWriter)
- Eliminates StringBuilderRuneEnumerator class and related enumeration functionality
- Reverts all associated test cases and test infrastructure for Rune support
Reviewed Changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| StringBuilderTests.cs | Removes test cases for Rune operations (Append, Insert, Replace, GetRuneAt, EnumerateRunes) |
| RuneTests.cs | Removes Rune equality comparison tests with StringComparison parameter |
| StringTests.cs | Removes Rune-based String method tests (Contains, EndsWith, StartsWith, IndexOf, LastIndexOf, Replace, Trim) |
| String.SplitTests.cs | Removes Rune-based Split method tests and related test infrastructure |
| TextWriterTests.cs | Removes Rune Write/WriteLine method tests |
| TestDataProvider.cs | Removes RuneData test data infrastructure |
| TextInfoTests.cs | Removes Rune ToLower/ToUpper method tests |
| System.Runtime.cs | Removes Rune-based method signatures from public API surface |
| StringBuilderRuneEnumerator.cs | Completely removes the enumerator class for Rune enumeration in StringBuilder |
| StringBuilder.cs | Removes Rune support methods (Append, Insert, Replace, GetRuneAt, TryGetRuneAt, EnumerateRunes) |
| Rune.cs | Removes AsSpan helper method and Equals overload with StringComparison |
| String.Searching.cs | Removes Rune-based search methods (Contains, IndexOf, LastIndexOf) |
| String.Manipulation.cs | Removes Rune-based manipulation methods (Replace, Split, Trim operations) |
| String.Comparison.cs | Removes Rune-based comparison methods (StartsWith, EndsWith) |
| TextWriter.cs | Removes Rune Write/WriteLine methods (sync and async) |
| TextInfo.cs | Removes Rune ToLower/ToUpper methods and internal helper methods |
| Char.cs | Removes internal Equals overload with StringComparison parameter |
| System.Private.CoreLib.Shared.projitems | Removes StringBuilderRuneEnumerator.cs from compilation |
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/StringTests.cs
Show resolved
Hide resolved
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/String.SplitTests.cs
Show resolved
Hide resolved
Contributor
|
Tagging subscribers to this area: @dotnet/area-system-runtime |
agocke
approved these changes
Sep 26, 2025
Joy-less
added a commit
to Joy-less/runtime
that referenced
this pull request
Sep 26, 2025
… more APIs) (dotnet#1…" (dotnet#120138) This reverts commit be80737.
tarekgh
added a commit
that referenced
this pull request
Sep 27, 2025
…#27912 (Flow System.Text.Rune through more APIs)) (#120145) * Fix tests from #117168 * Add `SyncTextWriter` overloads as well * Add missing overloads to BroadcastingTextWriter * Reapply "Add methods from #27912 (Flow System.Text.Rune through more APIs) (#1…" (#120138) This reverts commit be80737. * Override the TextWrite Rune overloads in IndentedTextWriter --------- Co-authored-by: Tarek Mahmoud Sayed <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reverts #117168
Fixes #120137