meetings/2022/LDM-2022-08-10.md
required property default nullabilityhttps://github.com/dotnet/csharplang/issues/6359
Today we looked at what the default state of required properties should be at the beginning of a constructor. As implemented and specified currently, properties
will be treated as if they have the null state they claim, so public required string Prop { get; set; } would have a not-null state at the start of a constructor.
We don't think this is a good idea: in C# 10, users could either count on a chained constructor having set all members, or will have the default state of all members
set to not-null. We think required serves as a good heuristic indicator that the property should be set to default(T) at the start of the constructor. The exception
to this is when the user chains to a constructor has specified SetsRequiredMembers on the constructor.
We accept the following rules:
SetsRequiredMembersAttribute, all required members have a null state of default(T), including those
required members from a base type.SetsRequiredMembersAttribute, all required members must have the null state they are declared with,
including those required members from a base type.