# C# Language Design Meeting for December 7th, 2020

## Agenda

1. [Required Properties](#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.
