dotnet/roslyn

Investigate a niche 'required' scenario where the compiler overrides a property from IL

Open

#62,426 opened on Jul 6, 2022

View on GitHub
 (1 comment) (0 reactions) (0 assignees)C# (4,257 forks)batch import
Area-CompilersBugFeature - Required Membershelp wanted

Repository metrics

Stars
 (20,414 stars)
PR merge metrics
 (Avg merge 6d 17h) (256 merged PRs in 30d)

Description

So here is the scenario:

  • Define a Derived record that implements a Base record.
    • Base will be just record Base;
    • Derived will be written in IL where EqualityContract is marked required (add setter to EqualityContract in IL if necessary)
  • In C#, define a regular record that inherits Derived, ie, record R3 : Derived;
  • Will it compile successfully? It probably shouldn't?

I messaged @333fred about this scenario, and we both agree it's not an important one, but can probably have a bug.

Contributor guide