csharplang/meetings/2020/LDM-2020-12-07.md
2020-12-09 11:54:03 -08:00

1.4 KiB

C# Language Design Meeting for December 7th, 2020

Agenda

  1. Required Properties

Quote(s) of the Day

  • "I also can't see anyone's video, so raise your hand [in Teams] if you're not here."
  • "If you can't solve required properties, you're not making a time machine."

Discussion

Required Properties

https://github.com/dotnet/csharplang/discussions/4209

Today, we took a look at the next revision of the required properties proposal, after a few months of design work from a smaller team to flesh out the design. We had a small questions coming out of the meeting:

  • Could assignments in the nominal parameter list always imply base.? It would make it easier for automatically considering hidden properties being initialized.
  • We could make it more user friendly by possibly adding warning when a property that is required by the constructor is definitely assigned in the constructor?
  • There's still some debate as to this should only be a source-breaking change.
  • Is init the right word? Maybe requires would be better?

More generally, the reaction to this in the LDM was mixed. While we believe that this is the best proposal we've seen to date, it's very complicated and introduces a bunch of new concepts. We may need to start looking at simplifying scenarios and seeing whether that allows us to cut this proposal down a bit.