Skip to content

Conversation

@majocha
Copy link
Contributor

@majocha majocha commented Nov 9, 2025

Description

Fixes #19033

By saving the declared type argument name instead of mutating (possibly concurrently) the source typar.

Checklist

  • Test cases added
  • Release notes entry updated:

@github-actions
Copy link
Contributor

github-actions bot commented Nov 9, 2025

❗ Release notes required


✅ Found changes and release notes in following paths:

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

@majocha majocha changed the title Save declared typar ident in opt data Fix race in graph checking of type extensions Nov 9, 2025
@majocha majocha marked this pull request as ready for review November 9, 2025 20:23
@majocha majocha requested a review from a team as a code owner November 9, 2025 20:23
@majocha
Copy link
Contributor Author

majocha commented Nov 9, 2025

To unblock #19028

@nojaf
Copy link
Contributor

nojaf commented Nov 10, 2025

It has been too long since I understood all this, so could you high-level explain to me why this works?

Does signature conformance happen after the parallel phase?

@majocha
Copy link
Contributor Author

majocha commented Nov 10, 2025

It has been too long since I understood all this, so could you high-level explain to me why this works?

Does signature conformance happen after the parallel phase?

No, it seems it just does SetIdent in the opposite direction sig -> impl. Or extended type -> extensions. :) So what is being mutated is naturally isolated by graph checking.

This seems the only place this happens so we can save the declared ident here.

@nojaf
Copy link
Contributor

nojaf commented Nov 10, 2025

Thanks, this is a clever solution. Well done!

@github-project-automation github-project-automation bot moved this from New to In Progress in F# Compiler and Tooling Nov 11, 2025
@T-Gro T-Gro enabled auto-merge (squash) November 11, 2025 11:27
@T-Gro T-Gro merged commit 3c3a388 into dotnet:main Nov 11, 2025
38 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in F# Compiler and Tooling Nov 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Benign race condition in graph based type checking of type extensions but breaks determinism

3 participants