Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 24, 2025

Summary

Replaces placeholder blog link with full documentation for F# 7 features following F# 9 template structure.

Fixes #50481

Changes

The F# 7 documentation now includes:

  • Static abstract members in interfaces - Runtime feature enabling generic math via interface constraints with static methods, demonstrated with IAddition<'T> and INumber<'T> examples. Links to corresponding C# documentation for cross-reference.
  • Simplified SRTP syntax - Major ergonomic improvement allowing 'T instead of ^T for type parameters, natural member call syntax ('T.Zero vs explicit constraint invocation), and grouped constraint declarations
  • Required properties checking - C# 11 interop with compile-time enforcement of required member initialization
  • Init scope enforcement - Breaking change tightening init-only property mutation to initialization context only
  • Reference assemblies support - Compiler capability via --refout/--refonly flags or MSBuild properties
  • Platform and performance improvements - ARM64 support, trimmability flags, parallel type-checking (experimental), N-d arrays up to rank 32

Code examples demonstrate practical usage patterns rather than abstract syntax. Documentation follows established F# 9 style with inline examples, sentence case headings, and active voice.

Original prompt

This section details on the original issue you should resolve

<issue_title>Missing documentation for F# 7</issue_title>
<issue_description>
This is really not the page that has the issue, rather the parent section "What's new".

There is no documentation for what is new in F# 7, beyond this blog post, that only savy developers will manage to find out.


Document Details

Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.


Associated WorkItem - 498946</issue_description>

<agent_instructions>Find docs pages for WhatsNew F#7.
There is an attached link to a blog post. Read it and follow your instructions for properly copying content with code samples from blogs to docs.</agent_instructions>

Comments on the Issue (you are @copilot in this section)

@BillWagner ping @KathleenDollard @dsyme

Who would be best to adapt the blog post for docs?</comment_new>
<comment_new>@BillWagner
The content for "What's new" in F# 7 and F# 8 are only pointers to the blog post that announced those features.

Instead, both should follow the example of F# 9 and have that blog content replicated in docs, with the appropriate docs styles.</comment_new>


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.


Internal previews

📄 File 🔗 Preview link
docs/fsharp/whats-new/fsharp-7.md What's new in F# 7

@dotnet-policy-service dotnet-policy-service bot added the okr-quality Content-quality KR: Concerns article defects (bugs), freshness, or build warnings. label Nov 24, 2025
Copilot AI changed the title [WIP] Add missing documentation for F# 7 Add comprehensive What's New documentation for F# 7 Nov 24, 2025
Copilot finished work on behalf of T-Gro November 24, 2025 11:52
Copilot AI requested a review from T-Gro November 24, 2025 11:52

## Static abstract members in interfaces

[Static abstract members in interfaces](https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/tutorials/static-virtual-interface-members) is a new feature of .NET 7. One notable application is [generic math](https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/tutorials/static-virtual-interface-members#generic-math).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix the links, correct link to the C# feature is this: https://learn.microsoft.com/en-us/dotnet/csharp/advanced-topics/interface-implementation/static-virtual-interface-members and correct link to the generic-math section is https://learn.microsoft.com/en-us/dotnet/csharp/advanced-topics/interface-implementation/static-virtual-interface-members#generic-math

Also make it clear that the link leads to documentation of the corresponding feature on C#'s side.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot this is for you

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in acdf57c. Updated both links to the correct paths and added clarifying text that they lead to C# documentation.

Copilot finished work on behalf of T-Gro December 2, 2025 08:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dotnet-fsharp/svc okr-quality Content-quality KR: Concerns article defects (bugs), freshness, or build warnings.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Missing documentation for F# 7

3 participants