Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
4e8c86c
Add a compiler intrinsic for the 'string' operator
charlesroddie Jun 21, 2026
1d5769c
Generate a match-based ToString for unions under --reflectionfree
charlesroddie Jun 21, 2026
bfb3939
Extract mkStringConcat helper for arity-dispatched String.Concat
charlesroddie Jun 21, 2026
e5710fa
Fix generated union ToString for generic unions
charlesroddie Jun 21, 2026
d5712c8
Render union ToString fields like option (null -> "null")
charlesroddie Jun 21, 2026
26f0e53
Tidy reflection-free union ToString tests
charlesroddie Jun 21, 2026
87e6870
Add reflection-free ToString to Result and Choice
charlesroddie Jun 21, 2026
956a4b0
Generate a single-line ToString for records under --reflectionfree
charlesroddie Jun 21, 2026
a021166
Update FSharp.Core surface-area baselines for Result/Choice ToString
charlesroddie Jun 21, 2026
8eef294
Add release notes
charlesroddie Jun 21, 2026
3754def
Generate a single-line ToString for anonymous records under --reflect…
charlesroddie Jun 21, 2026
a5f33ca
Test that a hand-written ToString override is kept under --reflection…
charlesroddie Jun 22, 2026
7ed0d8d
Rename ToString generators for clarity
charlesroddie Jun 22, 2026
dd3d75c
Restore tabular layout for string_operator_info in TcGlobals
charlesroddie Jun 22, 2026
1a5065e
Add reflection-free ToString tests for field shapes, structs, anon re…
charlesroddie Jun 23, 2026
2c108ed
Add EmittedIL tests for reflection-free record and union ToString
charlesroddie Jun 23, 2026
6a2199c
Generate reflection-free ToString in the augmentation phase
charlesroddie Jun 23, 2026
474b9f9
Guard generated reflection-free ToString against deep-recursion overflow
charlesroddie Jun 27, 2026
e130e50
Test the reflection-free ToString deep-recursion guard
charlesroddie Jun 27, 2026
6e276b1
revert ToString additions to fsharp.core types
charlesroddie Jun 29, 2026
e3c1a34
Remove stale FSharp.Core release note for the reverted Result/Choice …
charlesroddie Jun 29, 2026
93ee8ce
Merge remote-tracking branch 'upstream/main' into DUsRecordsCompiledT…
charlesroddie Jun 29, 2026
dcb4fc3
Merge branch 'main' into DUsRecordsCompiledToStrings
charlesroddie Jul 1, 2026
c4debaf
Merge branch 'main' into DUsRecordsCompiledToStrings
charlesroddie Jul 1, 2026
817e9de
Fix code formatting in IlxGen.fs (dotnet fantomas)
charlesroddie Jul 2, 2026
770601f
Merge branch 'main' into DUsRecordsCompiledToStrings
charlesroddie Jul 2, 2026
0616237
don't use quoted name
charlesroddie Jul 20, 2026
3f710ee
int version of reflectionfree-printing doc
charlesroddie Jul 20, 2026
432b137
doc tweaks
charlesroddie Jul 20, 2026
1d6f442
Link release note to the printing doc and cover anonymous records
charlesroddie Jul 20, 2026
4cae86a
test backticks
charlesroddie Jul 20, 2026
46da7a2
Share the ToString recursion guard with anonymous records
charlesroddie Jul 20, 2026
275b188
Add EmittedIL baselines for struct and anonymous record ToString
charlesroddie Jul 20, 2026
39741d8
Merge remote-tracking branch 'upstream/main' into DUsRecordsCompiledT…
charlesroddie Jul 20, 2026
39ca150
Fix empty anonymous record ToString rendering a doubled space
charlesroddie Jul 24, 2026
da3550b
tidy comment
charlesroddie Jul 24, 2026
9ed5cc7
Merge branch 'main' into DUsRecordsCompiledToStrings
charlesroddie Jul 24, 2026
2ccd69d
Merge remote-tracking branch 'upstream/main' into DUsRecordsCompiledT…
charlesroddie Jul 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Merge remote-tracking branch 'upstream/main' into DUsRecordsCompiledT…
…oStrings
  • Loading branch information
charlesroddie committed Jul 29, 2026
commit 2ccd69d9c09a341e94d0dc7686d1912bb4087ea5
1 change: 1 addition & 0 deletions docs/release-notes/.FSharp.Compiler.Service/11.0.100.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@
* Debug: rework conditional erasure, fix stepping over literals ([PR #19897](https://github.com/dotnet/fsharp/pull/19897))
* Debug: fix if and match condition sequence points ([PR #19932](https://github.com/dotnet/fsharp/pull/19932))
* Under `--reflectionfree`, discriminated unions, records and anonymous records now get a [generated `ToString`](../../reflectionfree-printing.md) (rendering each field like `Option` does) instead of falling back to the namespace-qualified type name. ([PR #19976](https://github.com/dotnet/fsharp/pull/19976))
* Support common types of `NotNullIfNotNullAttribute` usage. If a method parameter is marked with `NotNullIfNotNullAttribute`, the compiler will now honor this attribute and mark the return type as non-null. ([PR #19977](https://github.com/dotnet/fsharp/pull/19977))
* Checker: recover on checking language version ([PR ##19970](https://github.com/dotnet/fsharp/pull/19970))
* Implied argument names for function-to-delegate coercions now fall back to the delegate's `Invoke` parameter names when the function has no recoverable names (e.g. a partial application like `System.Func<int, int>((+) 1)`), instead of synthetic `delegateArg0`, `delegateArg1`, … names. ([PR #20001](https://github.com/dotnet/fsharp/pull/20001))
* Add internal `ResetCompilerGeneratedNameState` to `CompilerGlobalState` name generators so warm-checker re-compilation can produce fresh-process-identical generated names. ([PR #20017](https://github.com/dotnet/fsharp/pull/20017))
Expand Down
Loading
You are viewing a condensed version of this merge commit. You can view the full changes here.