dotnet / dotnet/csharpstandard
Plan for integrating C# 7.x - C# 10.0 feature specifications into the ECMA standard
- Dominant language
- C#
- Stars
- 815
- Forks
- 99
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 16
Description
Representatives from the ECMA committee will attend an upcoming C# LDM (language design meeting) to create a plan and process to integrate the latest features in the shipped C# compiler into the ECMA standard text.
The purpose of the discussion is to develop a plan and processes the have the committee and the LDM collaborate efficiently as the committee catches up to the current shipping version (both moving targets).
**Current status**
- The ECMA committee is working on adding the features described in the [draft C# 6 spec](https://github.com/dotnet/csharplang/tree/main/spec) into the [ECMA C# 5 standard text](https://github.com/dotnet/csharpstandard/tree/standard-v5#table-of-contents). There are [four features remaining](https://github.com/dotnet/csharpstandard/pulls?q=is%3Apr+is%3Aopen+%22C%23+6%22) represented by 5 PRs. One additional feature is tracked in issue #200.
- Several PRs have been created for [C# 7.x features](https://github.com/dotnet/csharpstandard/pulls?q=is%3Apr+is%3Aopen+%22C%23+7%22) using the following proposal folders:
- [C# 7.0](https://github.com/dotnet/csharplang/tree/main/proposals/csharp-7.0)
- [C# 7.1](https://github.com/dotnet/csharplang/tree/main/proposals/csharp-7.1)
- [C# 7.2](https://github.com/dotnet/csharplang/tree/main/proposals/csharp-7.2)
- [C# 7.3](https://github.com/dotnet/csharplang/tree/main/proposals/csharp-7.3)
- The C# Language Design Team has created feature specs for features developed from C# 7.0 through C# 10.0. (There are also drafts in progress for proposed future features).
- The Microsoft draft C# 6.0 spec is published on [docs.microsoft.com](https://docs.microsoft.com/dotnet/csharp/language-reference/language-specification/introduction).
**Goals**
- Upon merging the remaining C# 6.0 features, the docs platform should publish the ECMA committee draft spec instead of the Microsoft draft spec.
- Once C# 6.0 has been drafted, the dotnet/csharplang/spec folder can be deleted, with links updated to the version in dotnet/csharpstandard/standard.
- As each updated feature is incorporated into the draft standard, the feature spec will be removed from docs.microsoft.com, and those links updated to the latest standard draft.
- The ECMA committee and the LDM team develop a process to incorporate the new features as quickly as possible.
**Discussion items**
- How to facilitate reviews from LDM members? Tag for review? Assign PRs to them?
- How to get questions answered from LDM / compiler team members?
Contributor guide
Assessment
This issue has not been assessed yet.