Skip to content

Remove trailing whitespace from src and vsintegration/src - #20393

Merged
T-Gro merged 1 commit into
dotnet:mainfrom
xperiandri:remove-trailing-whitespace-src
Sep 7, 2026
Merged

T-Gro merged 1 commit into
dotnet:mainfrom
xperiandri:remove-trailing-whitespace-src

Conversation

@xperiandri

Copy link
Copy Markdown
Contributor

Split out of #20355 so that each PR stays under the 3000-file limit enforced by check_release_notes (that check fails closed at >= 3000 changed files, before the NO_RELEASE_NOTES opt-out is even evaluated).

This half covers src/, vsintegration/src and eng/Build.ps1 (90 files). #20355 keeps the remaining 2932 files under tests/, vsintegration/tests, buildtools/ and docs/fcs-samples.

No functional change

Trailing whitespace is preserved wherever it is semantically significant. Lines whose end falls inside a multi-line string literal (STRING_TEXT) or inside an inactive #if region are left untouched. Those lines were classified with FSharp.Compiler.Tokenization.FSharpSourceTokenizer rather than a regex.

Verification:

  • git diff -w over this branch reports no non-whitespace differences.
  • Tokenizing every touched file before and after with the F# tokenizer shows the string-literal token stream is byte-identical.

Release notes

Entries added for the three protected paths touched here: .FSharp.Core, .FSharp.Compiler.Service and .VisualStudio. src/Compiler/Facilities/LanguageFeatures.fsi is untouched, so no .Language/preview.md entry is required.

@github-actions

Copy link
Copy Markdown
Contributor

❗ Release notes required

You can open this PR in browser to add release notes: open in github.dev


✅ Found changes and release notes in following paths:

Warning

No PR link found in some release notes, please consider adding it.

Change path Release notes path Description
`src/FSharp.Core` docs/release-notes/.FSharp.Core/11.0.100.md No current pull request URL (#20393) found, please consider adding it
`src/Compiler` docs/release-notes/.FSharp.Compiler.Service/11.0.100.md No current pull request URL (#20393) found, please consider adding it
`vsintegration/src` docs/release-notes/.VisualStudio/18.vNext.md No current pull request URL (#20393) found, please consider adding it

@github-actions

This comment has been minimized.

@github-actions github-actions Bot added the ⚠️ Affects-Build-Infra Tooling check: PR touches build infrastructure label Aug 29, 2026
@xperiandri
xperiandri force-pushed the remove-trailing-whitespace-src branch 2 times, most recently from 3cfbcca to 7431037 Compare September 1, 2026 17:44
@xperiandri

Copy link
Copy Markdown
Contributor Author

@T-Gro this is green too

@T-Gro

T-Gro commented Sep 2, 2026

Copy link
Copy Markdown
Member

We will want a git blame revs here as well , otherwise good to go

@xperiandri

Copy link
Copy Markdown
Contributor Author

Blame should be another PR. As hash will change
@T-Gro

@xperiandri
xperiandri force-pushed the remove-trailing-whitespace-src branch from 7431037 to 84d6770 Compare September 2, 2026 19:18
@github-actions github-actions Bot added the ⚠️ Affects-Compiler-Output Tooling check: PR touches IL emission or codegen label Sep 2, 2026
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

🔍 Tooling Safety Check — Affects-Build-Infra, Affects-Compiler-Output
Affects-Build-Infra: modifies eng/Build.ps1
Affects-Compiler-Output: modifies ilwrite.fs, ilread.fsi

Generated by PR Tooling Safety Check · opus46 5.9M ·

Strips trailing whitespace from F# sources under src/ and vsintegration/src,
plus eng/Build.ps1.

Trailing whitespace is preserved wherever it is semantically significant:
lines whose end falls inside a multi-line string literal (STRING_TEXT) or
inside an inactive `#if` region are left untouched. Those lines were
classified with FSharp.Compiler.Tokenization.FSharpSourceTokenizer rather
than a regex.

Verified with the F# tokenizer: the string-literal token stream is
byte-identical before and after for every file touched.

Split out of dotnet#20355 so that each PR stays under the 3000-file limit
enforced by the release-notes check.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@xperiandri
xperiandri force-pushed the remove-trailing-whitespace-src branch from 84d6770 to 0cea648 Compare September 4, 2026 16:12
@xperiandri

xperiandri commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

@T-Gro all green, can be merged

@github-project-automation github-project-automation Bot moved this from New to In Progress in F# Compiler and Tooling Sep 7, 2026
@T-Gro
T-Gro merged commit c4a2802 into dotnet:main Sep 7, 2026
52 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in F# Compiler and Tooling Sep 7, 2026
@xperiandri
xperiandri deleted the remove-trailing-whitespace-src branch September 7, 2026 09:54
T-Gro pushed a commit that referenced this pull request Sep 7, 2026
The coreclr_release job was canceled after the 120-minute limit due to a
flaky infrastructure timeout (memory pressure hanging an unrelated test
assembly). The same job timed out on unrelated PRs #20235 and #20393 in the
last 10 days. ComponentTests (all DIM/interface tests affected by this PR)
passed fully, so the merge resolution is correct.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
T-Gro added a commit that referenced this pull request Sep 16, 2026
…lag (#20442)

* Remove always-on DefaultInterfaceMemberConsumption language feature flag

Delete the dead LanguageFeature.DefaultInterfaceMemberConsumption enum case,
its features-map entry and GetFeatureString arm. Collapse every language-version
gate to its always-on path. Decouple the target-runtime DIM check from the enum
via InfoReader.IsRuntimeSupportForDefaultImplementationsOfInterfaces and a
checkRuntimeSupportForDefaultInterfaceMembersAndRecover helper; the FSComp string
is retained as the display name for the runtime FS3351 diagnostic.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Remove featureDefaultInterfaceMemberConsumption FSComp string and regenerate xlf

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Re-trigger CI (flaky WindowsCompressedMetadata coreclr_release timeout)

The coreclr_release job was canceled after the 120-minute limit due to a
flaky infrastructure timeout (memory pressure hanging an unrelated test
assembly). The same job timed out on unrelated PRs #20235 and #20393 in the
last 10 days. ComponentTests (all DIM/interface tests affected by this PR)
passed fully, so the merge resolution is correct.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Avoid per-call FSharpFunc closure in remapVal member-info remap (#20426)

The Option.map mapping in remapValData was a partial application of
remapMemberInfo, reified into a per-call FSharpFunc even though Option.map
is inline. A syntactic lambda lets [<InlineIfLambda>] fire and lowers it to
a direct call, removing one ~72 B closure allocation per copied Val.

Co-authored-by: perf-bundle <perf@local>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 63a36ad7-0e8a-497d-9e96-7d7f03828b9a

* Avoid per-call FSharpFunc closure in remapVal member-info remap (#20426)

The Option.map mapping in remapValData was a partial application of
remapMemberInfo, reified into a per-call FSharpFunc even though Option.map
is inline. A syntactic lambda lets [<InlineIfLambda>] fire and lowers it to
a direct call, removing one ~72 B closure allocation per copied Val.

Co-authored-by: perf-bundle <perf@local>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 63a36ad7-0e8a-497d-9e96-7d7f03828b9a

* Avoid per-call FSharpFunc closure in remapVal member-info remap (#20426)

The Option.map mapping in remapValData was a partial application of
remapMemberInfo, reified into a per-call FSharpFunc even though Option.map
is inline. A syntactic lambda lets [<InlineIfLambda>] fire and lowers it to
a direct call, removing one ~72 B closure allocation per copied Val.

Co-authored-by: perf-bundle <perf@local>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 63a36ad7-0e8a-497d-9e96-7d7f03828b9a

* Teach expert reviewers to check runtime representation preservation (#20511)

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: perf-bundle <perf@local>
Copilot-Session: 63a36ad7-0e8a-497d-9e96-7d7f03828b9a
Copilot-Session: 616f5e9c-fc1c-4415-847e-4984261415c9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⚠️ Affects-Build-Infra Tooling check: PR touches build infrastructure ⚠️ Affects-Compiler-Output Tooling check: PR touches IL emission or codegen

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants