Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nullness :: Bugfix :: Codegen missing metadata for C# consumers (records,DUs,exceptions) #18079

Conversation

T-Gro
Copy link
Member

@T-Gro T-Gro commented Nov 27, 2024

Fixes #18007
Fixes #18076
Fixes #18077
Fixes #18078

This address holes in metadata generation for C# consumers of nullness information.
Affected areas are:

  • Constructor arguments for records, DUs and exception
  • Properties of records
  • get_ methods in records
  • Exception types - constructors, properties, get_Methods
  • DU constructor arguments for root type
  • DU constructor arguments for subclasses representing DU cases
  • For selected areas of DU codegen, metadata has been added to fields (even though they are generated as internal)

I spotted a pre-existing nasty bug which caused method attributes overwrite each other, and compilergenerated and debuggersteptrough attributes were until now therefore missing for selected generated methods in subclasses of DUs.

IMPORTANT tip for reviewing:

The attribute codegen fix also meant changing a lot of baselines, even though the only materialchange is addition of the two attributes.
All the baselines which are not about nullness have been updated in a separate commit, so that you can focus on the rest.

@T-Gro T-Gro linked an issue Nov 27, 2024 that may be closed by this pull request
7 tasks
Copy link
Contributor

github-actions bot commented Nov 27, 2024

❗ 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/9.0.200.md

@T-Gro T-Gro marked this pull request as ready for review November 28, 2024 09:19
@T-Gro T-Gro requested a review from a team as a code owner November 28, 2024 09:19
@T-Gro T-Gro added this to the November-2024 milestone Nov 28, 2024
@T-Gro T-Gro self-assigned this Nov 28, 2024
@T-Gro T-Gro modified the milestones: November-2024, December-2024 Dec 3, 2024
@T-Gro T-Gro enabled auto-merge (squash) December 6, 2024 08:23
@T-Gro T-Gro merged commit a90f6d1 into main Dec 6, 2024
33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment