Switch branches/tags
version-2.8.2 version-2.8.0 version-2.7.0-beta3 version-2.6.0-beta3 version-2.4.0 version-2.3.5 version-2.3.4 version-2.3.2 version-2.3.2-beta1 version-2.3.0-beta3 version-2.3.0-beta2 version-2.3.0-beta1 version-2.2.0 version-2.1.0 version-2.0.0 version-2.0.0-rc4 version-2.0.0-rc3 version-2.0.0-rc2 version-2.0.0-rc version-2.0.0-beta5 version-2.0.0-beta4 version-2.0.0-beta3 version-2.0.0-beta1 version-1.3.2 version-1.3.1 version-1.3.0 version-1.3.0-beta1-20160429-01 version-1.2.2 version-1.2.1 version-1.2.0 version-1.2.0-beta1-20160108-01 version-1.2.0-beta version-1.2.0-beta-20151211-01 version-1.1.1 version-1.1.0 version-1.1.0-rc1-20151109-01 version-1.0.0 version-1.0.0-beta1-20141031-01 toolset_5 toolset_3 toolset_2 toolset_1_1 toolset_1 Visual.Studio.2015.Update.1.RC Visual.Studio.2015.Update.1.CTP Visual-Studio-2017 Visual-Studio-2017-Version-15.7.2 Visual-Studio-2017-Version-15.7 Visual-Studio-2017-Version-15.6 Visual-Studio-2017-Version-15.5 Visual-Studio-2017-Version-15.4 Visual-Studio-2017-Version-15.3.5 Visual-Studio-2017-Version-15.3.4 Visual-Studio-2017-Version-15.3.2 Visual-Studio-2017-Version-15.3 Visual-Studio-2017-Version-15.2 Visual-Studio-2017-Version-15.1 Visual-Studio-2017-RC4 Visual-Studio-2017-RC3 Visual-Studio-2017-RC2 Visual-Studio-2017-RC Visual-Studio-2017-Preview-Version-15.3 Visual-Studio-2017-Preview-6-Version-15.7 Visual-Studio-2017-Preview-3-Version-15.4 Visual-Studio-2017-Preview-3-Version-15.3 Visual-Studio-2017-Preview-2-Version-15.4 Visual-Studio-2017-Preview-2-Version-15.3 Visual-Studio-2017-Preview-1-Version-15.4 Visual-Studio-2015 Visual-Studio-2015-Update-3 Visual-Studio-2015-Update-3-Micro-Update-1 Visual-Studio-2015-Update-2 Visual-Studio-2015-Update-2-RC Visual-Studio-2015-Update-2-Micro-Update-3 Visual-Studio-2015-Update-2-Micro-Update-1 Visual-Studio-2015-Update-1 Visual-Studio-2015-Update-1-RC Visual-Studio-2015-Update-1-CTP Visual-Studio-2015-RC Visual-Studio-2015-Preview Visual-Studio-2015-CTP-6 Visual-Studio-2015-CTP-5 Visual-Studio-15-Preview Visual-Studio-15-Preview-5 Visual-Studio-15-Preview-4 Visual-Studio-15-Preview-3 VS.Toolset.Roslyn.1.1.0-beta1-20150727-01 VS.Tools.X86.Managed.V45.1.0.150513.2 Oss.Scan.2015.03.13 Oss.Scan.2013.03.13 NetFx.Toolset.150729
Nothing to show
Find file Copy path
81 lines (65 sloc) 11.5 KB

Language Feature Status

This document reflects the status, and planned work in progress, 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. This is not an exhaustive list of our features but rather the ones which have active development efforts behind them.

C# 8.0

Feature Branch State Developers Reviewer LDM Champ
Default Interface Methods defaultInterfaceImplementation Prototype AlekseyTs gafter gafter
Nullable reference type NullableReferenceTypes Prototype cston, jcouv AlekseyTs, 333fred mattwar
Recursive patterns recursive-patterns Prototype gafter agocke, cston gafter
Async streams async-streams In Progress jcouv agocke, OmarTawfik stephentoub
Caller expression attribute caller-expression Prototype alrz jcouv jcouv
Target-typed new target-typed-new Prototype alrz jcouv jcouv
Pattern-based using enhanced-using Prototype fayrose agocke jaredpar
Generic attributes generic-attributes In Progress AviAvni agocke mattwar
Ranges range In Progress OmarTawfik cston jaredpar
Default in deconstruction decon-default Implemented jcouv gafter jcouv
Relax ordering of ref and partial modifiers ref-partial In Progress alrz gafter jcouv
Null Coalescing Assignment null-operator-enhancements In Progress 333fred cston gafter
Verbatim interpolated strings verbatim-interpolated In Progress jcouv cston jcouv

VB 16.0

Feature Branch State Developers Reviewer LDM Champ
Line continuation comments continuation-comments Prototype paul1956 AlekseyTs gafter

C# 7.3

Feature Branch State Developers Reviewer LDM Champ
blittable None Merged None jaredpar
Support == and != for tuples tuple-equality Merged jcouv AlekseyTs jcouv
strongname master Merged tyoverby agocke jaredpar
Attribute on backing field features/compiler Merged jcouv AlekseyTs jcouv
Ref Reassignment ref-reassignment Merged agocke vsadov jarepdar
Constraints constraints Merged OmarTawfik vsadov jarepdar
Stackalloc initializers stackalloc-init Merged alrz vsadov jcouv
Custom fixed custom-fixed Merged vsadov jcouv jarepdar
Indexing movable fixed buffers Merged vsadov jcouv jarepdar
Improved overload candidates features/compiler Merged gafter cston mattwar
Expression variables features/ExpressionVariables Merged AlekseyTs gafter gafter

C# 7.2 fixes

Feature Branch State Developers Reviewer LDM Champ
ref and this ordering in ref extension Merged alrz
Tiebreaker for by-val and in overloads master Merged OmarTawfik

C# 7.2

Feature Branch State Developers Reviewer LDM Champ
ref readonly master Merged vsadov, OmarTawfik cston,gafter jaredpar
interior pointer/Span/ref struct master Merged vsadov gafter, jaredpar jaredpar
non-trailing named arguments master Merged jcouv gafter jcouv
private protected master Merged gafter jcouv gafter
conditional ref operator master Merged vsadov cston jaredpar
Digit separator after base specifier master Merged alrz gafter

C# 7.1

Feature Branch State Developers Reviewer LDM Champ
Async Main master Merged tyoverby vsadov stephentoub
Default Expressions master Merged jcouv cston jcouv
Ref Assemblies master Merged (IDE and project-system integrations ongoing) jcouv gafter N/A
Infer tuple names master Merged jcouv gafter jcouv
Pattern-matching with generics master Merged gafter agocke gafter


  • Is target version a guarantee?: No. It's explicitly not a guarantee. This is just the planned and ongoing 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 document.