Skip to content

Merge v7 work #728

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

Merged
merged 140 commits into from
Jan 31, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
140 commits
Select commit Hold shift + click to select a range
0846382
make narrative match the grammar (#603)
RexJaeschke Aug 8, 2022
630fc6e
Update readme to reflect work on C# 7 (#610)
BillWagner Aug 11, 2022
04c4a84
Fix typos (#612)
pkulikov Aug 22, 2022
69e5176
Add bolding to data matrix tables (#615)
gewarren Aug 31, 2022
742977e
[BULK UPDATE] DocuTune - Fix build validation issues: docs-link-absol…
alexbuckgit Aug 31, 2022
6c3ddde
C# 7.x: private protected access modifier (#215)
RexJaeschke Sep 7, 2022
b9b2043
Fix the link to the section about variable references (#618)
pkulikov Sep 8, 2022
ebbd23d
Fix markdown conversion issues in the variance section. (#619)
333fred Sep 8, 2022
4772b7a
First pass at tooling to allow examples to be tested
jskeet Sep 9, 2022
7be430e
Add more testable examples (enums)
jskeet Sep 30, 2022
78e24e6
Add notes about example testing
jskeet Oct 6, 2022
501b50d
C# 7.x: Add support for readonly structs (#333)
RexJaeschke Oct 7, 2022
794934a
Add backticks in 10.7.1 (#627)
jskeet Oct 7, 2022
912b5b2
C# v7.x: Local functions (#104)
RexJaeschke Oct 11, 2022
92ccbda
add draft-v7 branch to runners (#628)
BillWagner Oct 12, 2022
2803b76
[create-pull-request] automated change (#629)
github-actions[bot] Oct 12, 2022
881c043
C# v7.x: Throw Expressions (#65)
RexJaeschke Oct 12, 2022
2c2df24
[create-pull-request] automated change (#630)
github-actions[bot] Oct 12, 2022
7992405
remove duplicate example (#631)
RexJaeschke Oct 13, 2022
3ae65b2
fix/enhance some examples (#632)
RexJaeschke Oct 14, 2022
1e63238
Tweaks to examples in statements.md
RexJaeschke Oct 15, 2022
7c017e3
comment out 2 non-code lines
RexJaeschke Oct 16, 2022
4693caa
Fix errors in various examples
RexJaeschke Oct 18, 2022
a6a4cd5
Fix examples for testing
RexJaeschke Oct 19, 2022
97b45d8
Enhance/correct some examples in structs.md (#637)
RexJaeschke Oct 24, 2022
d6254c5
Remove chevrons from example code when extracting it (#649)
jskeet Oct 26, 2022
d24bf4a
Add template with code in a Main method (#647)
jskeet Oct 26, 2022
a0a946b
Allow an example to specify that it is expected to throw an exception…
jskeet Oct 26, 2022
e3cab89
Allow unsafe code in examples (#650)
jskeet Oct 27, 2022
528bf80
Allow warnings to be ignored (set-wise) (#651)
jskeet Oct 27, 2022
d7e2e1c
Correctly handle " >" in an example inside an unnumbered list item (…
RexJaeschke Oct 27, 2022
406b558
Enhance/correct some examples in unsafe-code.md (#642)
RexJaeschke Oct 27, 2022
18498ca
Improve error handling in example tester
jskeet Oct 28, 2022
3291560
Add example-extractor annotation
RexJaeschke Oct 27, 2022
844df8d
Add example-extractor annotation
RexJaeschke Oct 27, 2022
87ce2fb
Add example-extractor annotation
RexJaeschke Oct 27, 2022
03d99b7
Add example-extractor annotation
RexJaeschke Oct 27, 2022
0eb6abe
Add example-extractor annotation
RexJaeschke Oct 27, 2022
bb84fea
consolidate ignoredWarnings
RexJaeschke Oct 28, 2022
1634ed0
remove extraneous space
RexJaeschke Oct 28, 2022
4b1bd04
remove extraneous space
RexJaeschke Oct 28, 2022
92447be
Make ImplementationDefinedExample
RexJaeschke Oct 28, 2022
4a69992
Minor fixes to examples
jskeet Oct 28, 2022
65af0e4
Update v7-feature-tracker.md
RexJaeschke Oct 28, 2022
538c547
Add example-extractor annotation
RexJaeschke Oct 27, 2022
38d7014
Add example-extractor annotation
RexJaeschke Oct 27, 2022
2ee212d
Add example-extractor annotation
RexJaeschke Oct 27, 2022
a4451b7
change Example prefix
RexJaeschke Oct 28, 2022
72a925b
tweak metadata
RexJaeschke Oct 28, 2022
aa8da23
Tweaks needed to get all tests passing
jskeet Oct 28, 2022
2c3fedc
Add example-extractor annotation
RexJaeschke Oct 28, 2022
fecfb51
Add example-extractor annotation
RexJaeschke Oct 28, 2022
05ade4f
Add example-extractor annotation
RexJaeschke Oct 28, 2022
c2a0a3c
Add example-extractor annotation
RexJaeschke Oct 28, 2022
da5368a
Fix examples so they all pass
jskeet Oct 31, 2022
70bd82a
Add example-extractor annotation
RexJaeschke Oct 28, 2022
911b4e9
Add example-extractor annotation
RexJaeschke Oct 28, 2022
29fba12
Add example-extractor annotation
RexJaeschke Oct 28, 2022
2b5589d
Add example-extractor annotation
RexJaeschke Oct 28, 2022
c27b107
Small changes to make all examples pass
jskeet Oct 31, 2022
37e5c54
Improvements to the examples tester
jskeet Oct 31, 2022
fa41baa
Allow output to be inferred from a section after the example instead …
jskeet Oct 31, 2022
d640d1e
Allow additional files to be copied as part of template extraction
jskeet Oct 31, 2022
c7ddfc1
Update basic-concepts.md
RexJaeschke Dec 14, 2020
dc1e35c
lint fixes
BillWagner Apr 2, 2022
0e6df31
Remove superceded bullet point
jskeet Jun 8, 2022
a2d27b1
Reset the curly quotes
jskeet Jun 8, 2022
55cdb16
Rewrite async entry point handling
jskeet Oct 5, 2022
e8c201c
Reword to use effective entry point
jskeet Oct 26, 2022
e891a15
Update standard/basic-concepts.md
jskeet Nov 2, 2022
eb03f73
Update expressions.md
RexJaeschke Apr 18, 2021
d9d4dfd
lint fixes
BillWagner Apr 3, 2022
baecb1c
Work in progress: changes to overload resolution
jskeet Aug 23, 2022
429bd52
Tweak wording around receivers
jskeet Oct 5, 2022
0ca94a5
More tweaks to overload resolution
jskeet Oct 26, 2022
bd6fe03
[create-pull-request] automated change (#666)
github-actions[bot] Nov 2, 2022
8c95fdc
Update v7-feature-tracker.md
RexJaeschke Nov 3, 2022
68362bc
Allow ellipsis replacement to be customized
jskeet Oct 31, 2022
b84f3ad
Add tool to format all examples in a consistent way
jskeet Nov 1, 2022
a0c891b
Reformat example metadata
jskeet Nov 7, 2022
9186f8c
Enhance some examples in documentation-comments.md (#641)
RexJaeschke Nov 9, 2022
879e91f
Create ExtractorAndTesterUsersGuide (#659)
RexJaeschke Nov 15, 2022
efea361
Run our test validation on PRs (#674)
BillWagner Nov 30, 2022
ef91733
C# 7.x: non-trailing named args (#216)
RexJaeschke Nov 30, 2022
ae45601
C# 7.x: Default literals (#236)
RexJaeschke Nov 30, 2022
743aecf
[create-pull-request] automated change (#675)
github-actions[bot] Nov 30, 2022
5338931
Fix the test runner YAML (#677)
jskeet Dec 1, 2022
7ea572f
fix job name (#683)
BillWagner Dec 7, 2022
ec23158
Install quest importer (#682)
BillWagner Dec 7, 2022
daf8208
Add the new branch argument (#684)
BillWagner Dec 8, 2022
f42d73d
Enhance some examples in conversions.md (#633)
RexJaeschke Dec 12, 2022
dfdfd25
Remove unnecessary ellipsis causing an example failure
jskeet Dec 12, 2022
9a16ad4
Enhance/correct example
RexJaeschke Oct 22, 2022
6d24e46
tweak formatting, fix some ellipses
RexJaeschke Oct 24, 2022
2ce7b91
minor tweaks
RexJaeschke Nov 9, 2022
ce4b78a
add commonly used using directives
RexJaeschke Dec 7, 2022
426b296
add commonly used using directives
RexJaeschke Dec 7, 2022
c1f0cc6
add commonly used using directives
RexJaeschke Dec 7, 2022
bf19cf5
remove using directives
RexJaeschke Dec 7, 2022
863599f
Allow field-targeted attributes on auto-property declarations
RexJaeschke Apr 17, 2021
a1b27d0
fix lint warnigns
BillWagner Apr 3, 2022
8670216
Make field-targeted attribute example self-consistent
jskeet Jan 3, 2023
2db5e32
Modify attribute targeting description for field-targeted autoprop at…
jskeet Jan 3, 2023
0d66230
Mark default literals and field-targeted autoprop attributes as compl…
jskeet Jan 4, 2023
f739e88
add metadata to new examples (#696)
RexJaeschke Jan 5, 2023
46260e7
[create-pull-request] automated change (#691)
github-actions[bot] Jan 5, 2023
d1d37c3
Example metadata: Add new, and revise existing, templates (#697)
RexJaeschke Jan 6, 2023
057ef4c
Example metadata: Add new, and revise existing, additional-files (#698)
RexJaeschke Jan 10, 2023
6e0a561
revise example metadata (#702)
RexJaeschke Jan 10, 2023
68d91f1
revise example metadata (#703)
RexJaeschke Jan 10, 2023
6c6e495
revise example metadata (#704)
RexJaeschke Jan 10, 2023
5d4c8ab
revise example metadata (#705)
RexJaeschke Jan 11, 2023
6a9ce98
revise example metadata (#706)
RexJaeschke Jan 11, 2023
f2ff5b3
revise example metadata (#708)
RexJaeschke Jan 11, 2023
b7e7e9a
revise example metadata (#710)
RexJaeschke Jan 11, 2023
4f8c5ca
revise example metadata (#709)
RexJaeschke Jan 11, 2023
a0e44c5
Enhance/correct some examples in expressions.md (#645)
RexJaeschke Jan 11, 2023
76e98ea
revise example metadata (#716)
RexJaeschke Jan 12, 2023
48b27c4
revise example metadata (#715)
RexJaeschke Jan 12, 2023
c536a34
revise example metadata (#714)
RexJaeschke Jan 12, 2023
017a1b7
revise example metadata (#713)
RexJaeschke Jan 12, 2023
8db316d
revise example metadata (#712)
RexJaeschke Jan 12, 2023
44d13e6
Example metadata: namespaces.md (#711)
RexJaeschke Jan 12, 2023
47d63dd
revise example metadata
RexJaeschke Jan 12, 2023
04bd041
Create RectangleStruct.cs
RexJaeschke Jan 12, 2023
b50dbe9
Create PointStruct.cs
RexJaeschke Jan 12, 2023
824ef05
Create DvoidNoArgs.cs
RexJaeschke Jan 12, 2023
97a76b8
Create ItemListT.cs
RexJaeschke Jan 12, 2023
91a7135
Create PointWithAutoProps.cs
RexJaeschke Jan 12, 2023
1d6a7b1
Update expressions.md
RexJaeschke Jan 12, 2023
d242824
Example metadata: documentation-comments.md (#707)
RexJaeschke Jan 13, 2023
1fb44ea
Example metadata: classes.md (#719)
RexJaeschke Jan 13, 2023
ac1be4d
Fix link (#723)
RexJaeschke Jan 16, 2023
82671a4
Revise Example Metadata User Guide (#720)
RexJaeschke Jan 16, 2023
d18331b
Add ignoreOutput option for example metadata (#724)
jskeet Jan 16, 2023
b750cad
Enable all implementation-defined-behavior examples (#725)
RexJaeschke Jan 16, 2023
b66f2bb
Example metadata: expressions.md, revisited (#718)
RexJaeschke Jan 23, 2023
ae140b8
Tweak undefined-behavior examples
RexJaeschke Jan 14, 2023
4166bc5
remove a questionable phrase
RexJaeschke Jan 23, 2023
98e9bd4
Fix examples (#727)
jskeet Jan 24, 2023
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
2 changes: 1 addition & 1 deletion .github/workflows/grammar-validator.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:

jobs:
grammar-validator:
runs-on: ubuntu-18.04
runs-on: ubuntu-latest
env:
DOTNET_NOLOGO: true

Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/markdownlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- draft-v6
- draft-v7
paths:
- "standard/*.md"
- ".markdownlint.json"
Expand All @@ -30,7 +31,7 @@ jobs:
- name: Use Node.js
uses: actions/setup-node@56899e050abffc08c2b3b61f3ec6a79a9dc3223d #@v1
with:
node-version: 12.x
node-version: 14.x
- name: Run Markdownlint
run: |
echo "::add-matcher::.github/workflows/markdownlint-problem-matcher.json"
Expand Down
68 changes: 68 additions & 0 deletions .github/workflows/quest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: "quest import"
on:
issues:
types:
[ labeled, closed, reopened, assigned, unassigned ]
pull_request:
types:
[ labeled, closed, assigned, unassigned ]
workflow_dispatch:
inputs:
reason:
description: "The reason for running the workflow"
required: true
default: "Manual run"
issue:
description: "The issue number to manually test"
required: true

jobs:
import:
if: |
github.event_name == 'workflow_dispatch' ||
github.event.label.name == 'reQUEST' ||
github.event.label.name == 'seQUESTered' ||
contains(github.event.issue.labels.*.name, 'reQUEST') ||
contains(github.event.issue.labels.*.name, 'seQUESTered')
runs-on: ubuntu-latest
permissions:
contents: write
issues: write

steps:
- name: "Print manual run reason"
if: ${{ github.event_name == 'workflow_dispatch' }}
run: |
echo "Reason: ${{ github.event.inputs.reason }}"
echo "Issue number: ${{ github.event.inputs.issue }}"

# This step occurs when ran manually, passing the manual issue number input
- name: manual-sequester
if: ${{ github.event_name == 'workflow_dispatch' }}
id: manual-sequester
uses: dotnet/docs-tools/actions/sequester@main
env:
ImportOptions__ApiKeys__GitHubToken: ${{ secrets.GITHUB_TOKEN }}
ImportOptions__ApiKeys__OSPOKey: ${{ secrets.OSPO_KEY }}
ImportOptions__ApiKeys__QuestKey: ${{ secrets.QUEST_KEY }}
with:
org: ${{ github.repository_owner }}
repo: ${{ github.repository }}
issue: ${{ github.event.inputs.issue }}
branch: ${{ github.ref_name }}

# This step occurs automatically, passing the issue number from the event
- name: auto-sequester
if: ${{ github.event_name != 'workflow_dispatch' }}
id: auto-sequester
uses: dotnet/docs-tools/actions/sequester@main
env:
ImportOptions__ApiKeys__GitHubToken: ${{ secrets.GITHUB_TOKEN }}
ImportOptions__ApiKeys__OSPOKey: ${{ secrets.OSPO_KEY }}
ImportOptions__ApiKeys__QuestKey: ${{ secrets.QUEST_KEY }}
with:
org: ${{ github.repository_owner }}
repo: ${{ github.repository }}
issue: ${{ github.event.issue.number }}
branch: ${{ github.ref_name }}

2 changes: 1 addition & 1 deletion .github/workflows/renumber-sections.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:

jobs:
renumber-sections:
runs-on: ubuntu-18.04
runs-on: ubuntu-latest
env:
DOTNET_NOLOGO: true

Expand Down
34 changes: 34 additions & 0 deletions .github/workflows/test-examples.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Test examples

# Triggers the workflow on pull request events that update the branch
on:
pull_request:
types: [opened, synchronize, reopened]
paths:
- '/standard/*.md'
workflow_dispatch:
inputs:
reason:
description: 'The reason for running the workflow'
required: true
default: 'Manual run'

jobs:
test-extraction-and-runner:
runs-on: ubuntu-latest
env:
DOTNET_NOLOGO: true

steps:
- name: Check out our repo
uses: actions/checkout@v2

- name: Setup .NET 6.0
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.x

- name: Extract and validate tests
run: |
cd tools
./test-examples.sh
4 changes: 2 additions & 2 deletions .github/workflows/tools-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ on:
default: 'Manual run'

jobs:
word-converter:
runs-on: ubuntu-18.04
run-unit-tests:
runs-on: ubuntu-latest
env:
DOTNET_NOLOGO: true

Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/update-on-merge.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ name: Update spec on merge
on:
push:
branches:
- draft-v6
- draft-v6
- draft-v7
workflow_dispatch:
inputs:
reason:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/word-converter.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:

jobs:
word-converter:
runs-on: ubuntu-18.04
runs-on: ubuntu-latest
env:
DOTNET_NOLOGO: true

Expand Down
22 changes: 20 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,13 @@ This project has adopted the code of conduct defined by the Contributor Covenant

## C# Language Specification

### C# 6.0 draft
### C# 7.0 draft

The branch `draft-v6` has the draft text for C# 6.0. It has not been submitted as a formal standard to ECMA. This version is a working draft that contains the features for C# 6.0.
The branch `draft-v7` has the draft text for C# 7.0. It has not been submitted as a formal standard to ECMA. This version is a working draft that contains the features for C# 7.0.

### C# 6.0 standard

The branch `standard-v6` has the ECMA C# C# 6.0 standard text, in Markdown format. For the official standard, see the [ECMA site](https://www.ecma-international.org/publications-and-standards/standards/ecma-334/).

### C# 5.0 standard

Expand All @@ -23,6 +27,14 @@ This version is stored in this branch as a base markdown version to compare with
(This document is also available for download: [csharp.pdf](CSharp%20Language%20Specification.pdf?raw=true) and [csharp.docx](CSharp%20Language%20Specification.docx?raw=true))
-->

### Comments within the standard

There are HTML comments (`<!-- comment -->`) within the standard for the sake of tooling. Some help in the process of converting the standard to Word, and others are for automated testing purposes.

Some automated test comments refer to error codes that are specific to the Microsoft C# compiler (e.g. "CS0509") to test that compilation fails as expected, where an example presents deliberately-invalid code. These error codes are not part of the standard, and should not be viewed as any kind of compliance check for other compilers.

More broadly, *no* comments should be regarded as being part of the standard itself.

## Admin folder

A home for adminstrative files (such as [eventually] meeting agendas and minutes).
Expand Down Expand Up @@ -53,6 +65,12 @@ This tool creates the outline using section numbers, and updates all links to th

Contributors that add sections should follow the guidance in our [contributor guide](CONTRIBUTING.md#how-to-add-or-remove-clauses) to ensure that links to new sections are incorporated correctly. This tool is run on each PR in a `dry-run` mode to ensure that the changes will parse correctly. When a PR is merged, the tool runs to update all section links.

### ExampleExtractor and ExampleTester

These two tools work in tandem to test that the examples presented work (or fail, where invalid code is presented) as expected.

ExampleExtractor populates a temporary directory with code and metadata extracted from the standard. ExampleTester then compiles and runs (where applicable) that code. The test-examples.sh script provides an easy way of running both tools together.

## .NET Foundation

This project is supported by the [.NET Foundation](https://dotnetfoundation.org).
Expand Down
2 changes: 1 addition & 1 deletion admin/v6-feature-tracker.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

To find out what was new/different in v6, Rex used two main sources:

- The [What's New in V6](https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-6) web page
- The [What's New in V6](https://docs.microsoft.com/dotnet/csharp/whats-new/csharp-6) web page
- The diffs that resulted when he compared the v5std md with the v6spec md.

In the latter case, he located those features that required new or changed grammar. He then found all uses of the names of grammar productions that were added/removed, so he could make adjustments to the text. As he progressed, he discovered some new features that did *not* involve grammar changes. Others have reported (small) new features as well.
Expand Down
24 changes: 12 additions & 12 deletions admin/v7-feature-tracker.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,25 @@ Version | Feature | PR | Status | Effort | Notes
7.0 | binary integer literals ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.0/binary-literals.md)) | [548](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/548) | Completed | Small | Feature Group A.
7.0 | embedded digit separators in numeric literals ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.0/digit-separators.md)) | [548](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/548) | Completed | Small | Feature Group A.
7.0 | `out` variables ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.0/out-var.md)) | [44](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/44) | Open | Small | Feature Group B.
7.0 | Discards ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.0/out-var.md)) | [44](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/44) | Open | Small | Feature Group B.
7.0 | Tuples ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.0/tuples.md)) | [63](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/63) **but needs some work** | Open | Large | Feature Group C.
7.0 | Pattern Matching ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.0/pattern-matching.md)) | [61](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/61) | Open | Medium | Feature Group D.
7.0 | Discards ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.0/out-var.md)) | [44](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/44), [596](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/596) | Open | Small | Feature Group B.
7.0 | Tuples ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.0/tuples.md)) | [63](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/63) **but needs some work**, [596](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/596) | Open | Large | Feature Group C.
7.0 | Pattern Matching ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.0/pattern-matching.md)) | [61](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/61), [596](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/596) | Open | Medium | Feature Group D.
7.0 | `ref` locals and returns ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.0/ref-locals-returns.md)) | [213](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/213) **but needs work** | Open | Medium | Feature Group E.
7.0 | Local Functions ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.0/local-functions.md)) | [104](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/104) | Open | Small |
7.0 | Local Functions ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.0/local-functions.md)) | [104](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/104) | Completed | Small |
7.0 | More expression-bodied members ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.0/expression-bodied-everything.md)) | [69](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/69) | Completed | Small |
7.0 | `throw` Expressions ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.0/throw-expression.md)) | [65](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/65) **but needs some work** | Open | Small |
7.0 | Generalized `async` return types ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.0/task-types.md), [tutorial](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/async-return-types)) | [556](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/556) **but needs some work** | Open | Small |
7.1 | `async Main` method ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.1/async-main.md)) | [70](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/70) | Open | Small |
7.1 | `default` literal expressions ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.1/target-typed-default.md)) | [236](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/236) | Open | Small |
7.0 | `throw` Expressions ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.0/throw-expression.md)) | [65](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/65) | Completed | Small |
7.0 | Generalized `async` return types ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.0/task-types.md), [tutorial](https://docs.microsoft.com/dotnet/csharp/programming-guide/concepts/async/async-return-types)) | [556](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/556) **but needs some work** | Open | Small |
7.1 | `async Main` method ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.1/async-main.md)) | [70](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/70) | Completed | Small |
7.1 | `default` literal expressions ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.1/target-typed-default.md)) | [236](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/236) | Completed | Small |
7.1 | Inferred tuple element names ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.1/infer-tuple-names.md)) | [63](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/63) **but needs some work** | Open | Large | Feature Group C.
7.1 | Pattern matching on generic type parameters ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.1/generics-pattern-match.md)) | [61](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/61) | Open | Medium | Feature Group D.
7.2 | leading digit separators in bin/hex integer literals ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.2/leading-separator.md)) | [548](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/548) | Completed | Small | Feature Group A.
7.2 | Non-trailing named arguments ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.2/non-trailing-named-arguments.md)) | [216](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/216) | Open | Small |
7.2 | `private protected` access modifier ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.2/private-protected.md)) | [215](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/215) | Open | Small |
7.2 | `private protected` access modifier ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.2/private-protected.md)) | [215](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/215) | Completed | Small |
7.2 | Conditional `ref` expressions ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.2/conditional-ref.md)) | [213](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/213) **but needs work** | Open | Medium | Feature Group E.
7.2 | `in` parameter modifier ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.2/readonly-ref.md)) | [219](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/219) | Open | Medium | Feature Group F.
7.2 | `ref` with `this` in extension methods ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.2/ref-extension-methods.md)) | [219](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/219) | Open | Medium | Feature Group F.
7.2 | `readonly` structs ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.2/readonly-struct.md)) | [333](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/333) | Open | Small |
7.2 | `readonly` structs ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.2/readonly-struct.md)) | [333](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/333) | Completed | Small |
7.2 | `ref` structs ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.2/span-safety.md)) | TBD | Open | Medium |
7.3 | indexing movable fixed buffer without pinning ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.3/indexing-movable-fixed-fields.md)) | [239](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/239) | Open | Small |
7.3 | reassign `ref` local variables ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.3/ref-local-reassignment.md)) | [213](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/213) **but needs work** | Open | Medium | Feature Group E.
Expand All @@ -40,5 +40,5 @@ Version | Feature | PR | Status | Effort | Notes
7.3 | use additional generic constraints ([MS Proposal 1](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.3/blittable.md)) ([MS proposal 2](https://github.com/dotnet/csharplang/issues/104)) ([MS proposal 3](https://github.com/dotnet/csharplang/issues/103)) | [244](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/244) | Open | Small |
7.3 | test `==` and `!=` with tuple types ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.3/tuple-equality.md)) | [63](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/63) **but needs some work** | Open | Large | Feature Group C.
7.3 | use expression variables in more locations ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.3/expression-variables-in-initializers.md)) | [44](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/44), [61](https://github.com/ECMA-TC49-TG2/csharpstandard/pull/61) | Open | Medium | Feature Group B and D.
7.3 | attach attributes to the backing field of auto-implemented properties ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.3/auto-prop-field-attrs.md)) | [262](https://github.com/dotnet/csharpstandard/pull/262) | Open | Small |
7.3 | overload resolution now has fewer ambiguous cases ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.3/improved-overload-candidates.md)) | [263](https://github.com/dotnet/csharpstandard/pull/263) | Open | Small |
7.3 | attach attributes to the backing field of auto-implemented properties ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.3/auto-prop-field-attrs.md)) | [262](https://github.com/dotnet/csharpstandard/pull/262) | Completed | Small |
7.3 | overload resolution now has fewer ambiguous cases ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.3/improved-overload-candidates.md)) | [263](https://github.com/dotnet/csharpstandard/pull/263) | Completed | Small |
9 changes: 9 additions & 0 deletions quest-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"AzureDevOps": {
"Org": "msft-skilling",
"Project": "Content",
"AreaPath": "Production\\Digital and App Innovation\\DotNet and more\\dotnet"
},
"ImportTriggerLabel": "reQUEST",
"ImportedLabel": "seQUESTered"
}
Loading