Skip to content

Conversation

@T-Gro
Copy link
Member

@T-Gro T-Gro commented Jan 21, 2026

Fixes issue #19231

Extend the pattern match in ConstraintSolver.fs to also reject FSMeth when it represents a static abstract interface member being called directly on the interface type.

The check handles FSMeth case alongside ILMeth:

  • Not a constrained call via type parameter
  • Not an instance member (i.e., static)
  • Is on an interface type
  • Is a dispatch slot member (abstract)

…#19231)

Extend the pattern match in ConstraintSolver.fs to also reject FSMeth when
it represents a static abstract interface member being called directly on
the interface type.

The check handles FSMeth case alongside ILMeth:
- Not a constrained call via type parameter
- Not an instance member (i.e., static)
- Is on an interface type
- Is a dispatch slot member (abstract)

Uses the same error message 3866 (chkStaticAbstractInterfaceMembers).
@github-actions
Copy link
Contributor

github-actions bot commented Jan 21, 2026

⚠️ Release notes required, but author opted out

Warning

Author opted out of release notes, check is disabled for this pull request.
cc @dotnet/fsharp-team-msft

@T-Gro T-Gro force-pushed the fix/static-abstract-interface-19231 branch from d3b0f97 to 0b150df Compare January 21, 2026 18:36
@T-Gro T-Gro marked this pull request as ready for review January 21, 2026 21:48
@T-Gro T-Gro requested a review from a team as a code owner January 21, 2026 21:48
@T-Gro T-Gro requested a review from abonie January 21, 2026 21:48
@github-project-automation github-project-automation bot moved this from New to In Progress in F# Compiler and Tooling Jan 22, 2026
@T-Gro T-Gro enabled auto-merge (squash) January 22, 2026 11:50
@T-Gro T-Gro added the NO_RELEASE_NOTES Label for pull requests which signals, that user opted-out of providing release notes label Jan 22, 2026
@T-Gro T-Gro merged commit b1dc2f1 into main Jan 22, 2026
40 of 41 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

NO_RELEASE_NOTES Label for pull requests which signals, that user opted-out of providing release notes

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants