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
  • 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.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/dotnet/fsharp/releases
    • Triggering command: /usr/bin/curl curl -s REDACTED (http block)

If you need me to access, download, or install something from one of these locations, you can either:

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.

@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
Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com>
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.

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