You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GenAPI should follow the struct layout rules as follow:
If there is a reference type field in the struct or within the fields' type closure, it should emit a reference type and a value type dummy field.
The reference type dummy field is needed in order to inform the compiler to block taking
pointers to this struct because the GC will not track updating those references
The value type dummy field is needed in order for the compiler to error correctly on definite
assignment checks in all scenarios. Currently if the strict flag is not passed and the value type
dummy field is missing, it will not error when trying to use the referenced unassigned struct. [Strict] Do not ignore private reference fields of structs for definite assignment roslyn#30194
If there are no reference type fields, but there are value type fields in the struct field closure, and at least one of these fields is a nonempty struct, then we should emit a value type dummy field.
If the type is generic, then for every type parameter of the type, if there are any private or internal fields that are or contain any members whose type is that type parameter, we add a direct private field of that type.
GenAPI should follow the struct layout rules as follow:
If there is a reference type field in the struct or within the fields' type closure, it should emit a reference type and a value type dummy field.
If there are no reference type fields, but there are value type fields in the struct field closure, and at least one of these fields is a nonempty struct, then we should emit a value type dummy field.
If the type is generic, then for every type parameter of the type, if there are any private or internal fields that are or contain any members whose type is that type parameter, we add a direct private field of that type.
cc: @ahsonkhan @ericstj
The text was updated successfully, but these errors were encountered: