dotnet / dotnet/csharpstandard

Plan for integrating C# 7.x - C# 10.0 feature specifications into the ECMA standard

Open
#366 5 comments 0 reactions 5 assignees Claimed by @RexJaeschke View on GitHub
type: process
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.