Skip to content

Fix no-opt inline base class call - #20639

Open
majocha wants to merge 5 commits into
dotnet:mainfrom
majocha:inline-base-call
Open

majocha wants to merge 5 commits into
dotnet:mainfrom
majocha:inline-base-call

Conversation

@majocha

@majocha majocha commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

Inline members can now call inline base-class members with optimizations off while retaining debugger step-into. Uneliminated base references report FS3925 instead of an internal error.

Fixes #20614

Checklist

  • Test cases added
  • Performance benchmarks added in case of performance changes
  • Release notes entry updated:

@github-actions

github-actions Bot commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

✅ Release notes checked


✅ Found changes and release notes in following paths:

Change path Release notes path Description
`src/Compiler` docs/release-notes/.FSharp.Compiler.Service/11.0.200.md

@majocha
majocha marked this pull request as ready for review September 26, 2026 12:58
@majocha
majocha requested a review from a team as a code owner September 26, 2026 12:58
@github-actions github-actions Bot added the ⚠️ Affects-Compiler-Output Tooling check: PR touches IL emission or codegen label Sep 26, 2026
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions github-actions Bot added the AI-Tooling-Check-Scanned-Clean Tooling check: diff analyzed, no interesting infrastructure files label Sep 27, 2026
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

- Unwrap free-choice typars on inline instance members so base calls are
  eliminated in the exported inline body (fixes remaining FS0073 cases).
- Report FS3925 with errorR and mark the member non-inline, so all
  offending members are reported without cascading FS0073.
- Avoid recomputing free variables of the member body.

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

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

🔍 Tooling Safety Check — Affects-Compiler-Output
Affects-Compiler-Output: Changes generated member accessibility.

Generated by PR Tooling Safety Check · gpt56 2.5M · ◷

@T-Gro T-Gro left a comment •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🤖 🕵️ LGTM

@T-Gro
T-Gro self-requested a review September 29, 2026 09:53
@T-Gro T-Gro added the AI-reviewed PR reviewed by AI review council label Sep 29, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⚠️ Affects-Compiler-Output Tooling check: PR touches IL emission or codegen AI-reviewed PR reviewed by AI review council AI-Tooling-Check-Scanned-Clean Tooling check: diff analyzed, no interesting infrastructure files

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

Internal error when calling base class method in inlined method without optimizations

2 participants