Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Language Feature Status Document #10233

Merged
merged 1 commit into from
Apr 1, 2016
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions docs/Language Feature Status.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Language Feature Status
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This document should include all features on the C# Work List of Features, otherwise it appears that we don't have our story straight. The contents of this should be the result of a joint decision resulting from work with LDM rather than by unilaterally publishing this document. The process, as I understand it, is for the compiler team to provide estimates to the LDM. The documents could then be reconciled either by adding features here, or dropping features from the work list.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Disagree. The C# work list features is the set of items being considered by LDM. This is the set of features actively being worked on by the compiler team. It's okay for the lists to be different.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no hint in this document that its intent is to describe the work of one particular team at one particular time. Moreover, it includes features that are currently not being worked on by the compiler team, such as out var, and it fails to include the non-compiler-team contributions that we have on our plate (#5050 const var, #8594 expression body accessors). You should clarify that, and note that the list will be augmented as the team works on additional features for C# 7.


This document reflects the status, and planned work, for the compiler team. It is a live document and will be updated as work progresses, features are added / removed, and as work on feature progresses.

## C# 7.0 and VB 15

| Feature | Branch | State | Owners | LDM Champ |
| ------- | ------ | ----- | ------ | ----- | ----- |
| Async Main | none | Feature Specification | [tyoverby](https://github.com/tyoverby), [agocke](https://github.com/agocke) | [stephentoub](https://github.com/stephentoub) |
| Address of Static | none | Feature Specification | | [jaredpar](https://github.com/jaredpar) |
| Binary Literals | [future](https://github.com/dotnet/roslyn/tree/future) | Finishing | | [gafter](https://github.com/gafter) |
| Digit Separators | [future](https://github.com/dotnet/roslyn/tree/future) | Finishing | | [gafter](https://github.com/gafter) |
| [Local Functions](https://github.com/dotnet/roslyn/blob/future/docs/features/local-functions.md) | [future](https://github.com/dotnet/roslyn/tree/future) | Finishing | [agocke](https://github.com/agocke), [jaredpar](https://github.com/jaredpar), [vsadov](https://github.com/vsadov) | [gafter](https://github.com/gafter) |
| [Pattern Matching](https://github.com/dotnet/roslyn/blob/future/docs/features/patterns.md) | [features/patterns](https://github.com/dotnet/roslyn/tree/features/patterns) | Prototyping | [gafter](https://github.com/gafter), [alekseyts](https://github.com/alekseyts), [agocke](https://github.com/agocke) | [gafter](https://github.com/gafter) |
| Records | none | Feature Specification | [jcouv](https://github.com/jcouv) | [gafter](https://github.com/gafter) |
| Ref Returns | [future](https://github.com/dotnet/roslyn/tree/future) | Finishing | [vsadov](https://github.com/vsadov), [agocke](https://github.com/agocke), [jaredpar](https://github.com/jaredpar) | [vsadov](https://github.com/vsadov) |
| Source Generation | [future](https://github.com/dotnet/roslyn/tree/features/generators) | Prototyping | [cston](https://github.com/cston), [vsadov](https://github.com/vsadov) | [mattwar](https://github.com/mattwar) |
| Throw Expr | [features/patterns](https://github.com/dotnet/roslyn/tree/features/patterns) | Prototyping | [agocke](https://github.com/agocke), [tyoverby](https://github.com/tyoverby), [gafter](https://github.com/gafter) | [gafter](https://github.com/gafter) |
| Tuples | [features/tuples](https://github.com/dotnet/roslyn/tree/features/tuples) | Prototyping | [vsadov](https://github.com/vsadov), [jcouv](https://github.com/jcouv) | [madstorgerson](https://github.com/MadsTorgersen) |
| Out var | none | Feature Specification | [alekseyts](https://github.com/alekseyts) | [gafter](https://github.com/gafter) |
| With Exprs | none | Feature Specification | [gafter](https://github.com/gafter) | [gafter](https://github.com/gafter) |

## (C# 7.0 and VB 15) + 1

| Feature | Branch | State | Owners | LDM |
| ------- | ------ | ----- | ------ | ----- |
| Protected Private | [features/privateprotected](https://github.com/dotnet/roslyn/tree/features/privateprotected) | Prototyping | | [gafter](https://github.com/gafter) |
| [Non-null Ref Types](https://github.com/dotnet/roslyn/blob/features/NullableReferenceTypes/docs/features/NullableReferenceTypes/Nullable%20reference%20types.md) | [features/NullableReferenceTypes](https://github.com/dotnet/roslyn/tree/features/NullableReferenceTypes) | Prototyping | [alekseyts](https://github.com/alekseyts) | [mattwar](https://github.com/mattwar) |
| Better Betterness | | Feature Specification | | [gafter](https://github.com/gafter) |

# FAQ

- **Is target version a guarantee?**: No. It's explicitly not a guarantee. This is just the planned and on going work to the best of our knowledge at this time.
- **Where are these State values defined?**: Take a look at the [Developing a Language Feature](contributing/Developing a Language Feature.md) document.