dotnet / dotnet/csharpstandard
Reorganize how record structs are spec'd
- Dominant language
- C#
- Stars
- 815
- Forks
- 99
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 16
Description
[This issue was spun off from Issue #1683.]
During the 2026-05-06 TG2 call, we had a lengthy discussion about whether `record` is a modifier on a class/struct, or a different type entirely. We ended up with the following position:
1. We'll treat `record` as a modifier. (This is how it is currently treated in [Draft PR #1458](https://github.com/dotnet/csharpstandard/pull/1556).)
1. Add a new subclause to the end of 16, “Structs” that describes the diffs between a record struct and a non-record struct, and remove from the current Draft PR mentions of “record struct” in earlier subclauses in that clause. This allows all information about a record struct to be found in one subclause rather than it being spread around multiple earlier subclauses. A reader of the earlier subclauses not interested in record structs will no longer be distracted by text on that topic.
Contributor guide
Assessment
This issue has not been assessed yet.