-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# Language Feature Status | ||
|
||
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. |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.