Skip to content

Commit 88150f0

Browse files
authored
Remove feature specs for merged standard (#46802)
* Remove feature specs for merged standard The ECMA committee merged the feature PRs for "async streams" and "null-coalescing assignment" at the June 11 meeting. It's time to unpublish those feature specifications. * add redirections * fix renumbering warnings.
1 parent fadb4b6 commit 88150f0

File tree

5 files changed

+12
-10
lines changed

5 files changed

+12
-10
lines changed

.openpublishing.redirection.csharp.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,14 @@
120120
"source_path_from_root": "/redirections/proposals/csharp-8.0/readonly-instance-members.md",
121121
"redirect_url": "/dotnet/csharp/language-reference/language-specification/structs#16411-properties"
122122
},
123+
{
124+
"source_path_from_root": "/redirections/proposals/csharp-8.0/null-coalescing-assignment.md",
125+
"redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#1221-assignment-operators"
126+
},
127+
{
128+
"source_path_from_root": "/redirections/proposals/csharp-8.0/async-streams.md",
129+
"redirect_url": "/dotnet/csharp/language-reference/language-specification/statements.md#13953-await-foreach"
130+
},
123131
{
124132
"source_path_from_root": "/redirections/proposals/csharp-9.0/nullable-reference-types-specification.md",
125133
"redirect_url": "/dotnet/csharp/language-reference/language-specification/types.md#893-nullable-reference-types"

docfx.json

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@
8181
"csharp-8.0/nullable-reference-types-specification.md",
8282
"csharp-8.0/nested-stackalloc.md",
8383
"csharp-8.0/readonly-instance-members.md",
84+
"csharp-8.0/null-coalescing-assignment.md",
85+
"csharp-8.0/async-streams.md",
8486
"csharp-9.0/nullable-reference-types-specification.md",
8587
"csharp-9.0/nullable-constructor-analysis.md",
8688
"csharp-9.0/nullable-parameter-default-value-analysis.md",
@@ -618,10 +620,8 @@
618620
"_csharpstandard/standard/Bibliography.md": "Bibliography",
619621
"_csharplang/proposals/csharp-8.0/patterns.md": "Recursive pattern matching",
620622
"_csharplang/proposals/csharp-8.0/default-interface-methods.md": "Default interface methods",
621-
"_csharplang/proposals/csharp-8.0/async-streams.md": "Async streams",
622623
"_csharplang/proposals/csharp-8.0/ranges.md": "Ranges and indices",
623624
"_csharplang/proposals/csharp-8.0/using.md": "Pattern based using and using declarations",
624-
"_csharplang/proposals/csharp-8.0/null-coalescing-assignment.md": "Null coalescing assignment",
625625
"_csharplang/proposals/csharp-9.0/covariant-returns.md": "Covariant return types",
626626
"_csharplang/proposals/csharp-9.0/extending-partial-methods.md": "Extending partial methods",
627627
"_csharplang/proposals/csharp-9.0/extension-getenumerator.md": "Extension GetEnumerator support in foreach",
@@ -744,10 +744,8 @@
744744
"_csharpstandard/standard/Bibliography.md": "This appendix lists external standards referenced in this specification.",
745745
"_csharplang/proposals/csharp-8.0/patterns.md": "This feature specification describes recursive pattern matching, where patterns can nest inside other patterns.",
746746
"_csharplang/proposals/csharp-8.0/default-interface-methods.md": "This feature specification describe the syntax updates necessary to support default interface methods. This includes declaring bodies in interface declarations, and supporting modifiers on declarations.",
747-
"_csharplang/proposals/csharp-8.0/async-streams.md": "This feature specification describes async streams, which return streams of data asynchronously, typically as each element is produced or available.",
748747
"_csharplang/proposals/csharp-8.0/ranges.md": "This feature specification describes the syntax for ranges and indices, which support indexing individual elements of a sequence or a range of a sequence from the start or end of that sequence.",
749748
"_csharplang/proposals/csharp-8.0/using.md": "This feature specification supports pattern based using and using declarations to simplify resource cleanup.",
750-
"_csharplang/proposals/csharp-8.0/null-coalescing-assignment.md": "This feature specification describes the syntax to support null coalescing assignment expressions using the '??=' operator.",
751749
"_csharplang/proposals/csharp-9.0/covariant-returns.md": "This feature specification describes covariant return types, where overriding member declarations can return a type derived from the overridden member declaration.",
752750
"_csharplang/proposals/csharp-9.0/extending-partial-methods.md": "This feature specification describes extensions to partial methods. These extensions enable source generators to create or call partial methods.",
753751
"_csharplang/proposals/csharp-9.0/extension-getenumerator.md": "This feature specification describes the necessary pattern for an extension method to provide the GetEnumerator support in a foreach loop.",

docs/csharp/asynchronous-programming/async-return-types.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ The following example shows the behavior of an async event handler. In the examp
7171

7272
## Generalized async return types and ValueTask\<TResult\>
7373

74-
An async method can return any type that has an accessible `GetAwaiter` method that returns an instance of an *awaiter type*. In addition, the type returned from the `GetAwaiter` method must have the <xref:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute?displayProperty=nameWithType> attribute. You can learn more in the article on [Attributes read by the compiler](../language-reference/attributes/general.md#asyncmethodbuilder-attribute) or the C# spec for the [Task type builder pattern](~/_csharpstandard/standard/classes.md#15152-task-type-builder-pattern).
74+
An async method can return any type that has an accessible `GetAwaiter` method that returns an instance of an *awaiter type*. In addition, the type returned from the `GetAwaiter` method must have the <xref:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute?displayProperty=nameWithType> attribute. You can learn more in the article on [Attributes read by the compiler](../language-reference/attributes/general.md#asyncmethodbuilder-attribute) or the C# spec for the [Task type builder pattern](~/_csharpstandard/standard/classes.md#15142-task-type-builder-pattern).
7575

7676
This feature is the complement to [awaitable expressions](~/_csharpstandard/standard/expressions.md#12982-awaitable-expressions), which describes the requirements for the operand of `await`. Generalized async return types enable the compiler to generate `async` methods that return different types. Generalized async return types enabled performance improvements in the .NET libraries. Because <xref:System.Threading.Tasks.Task> and <xref:System.Threading.Tasks.Task%601> are reference types, memory allocation in performance-critical paths, particularly when allocations occur in tight loops, can adversely affect performance. Support for generalized return types means that you can return a lightweight value type instead of a reference type to avoid more memory allocations.
7777

docs/csharp/programming-guide/concepts/iterators.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ On each successive iteration of the `foreach` loop (or the direct call to `IEnum
337337

338338
Iterators don't support the <xref:System.Collections.IEnumerator.Reset%2A?displayProperty=nameWithType> method. To reiterate from the start, you must obtain a new iterator. Calling <xref:System.Collections.IEnumerator.Reset%2A> on the iterator returned by an iterator method throws a <xref:System.NotSupportedException>.
339339

340-
For additional information, see the [C# Language Specification](~/_csharpstandard/standard/classes.md#1514-iterators).
340+
For additional information, see the [C# Language Specification](~/_csharpstandard/standard/classes.md#1515-synchronous-and-asynchronous-iterators).
341341

342342
## Use of Iterators
343343

docs/csharp/specification/toc.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,6 @@ items:
135135
items:
136136
- name: Ranges
137137
href: ../../../_csharplang/proposals/csharp-8.0/ranges.md
138-
- name: Null coalescing assignment
139-
href: ../../../_csharplang/proposals/csharp-8.0/null-coalescing-assignment.md
140138
- name: Target-typed new expressions
141139
href: ../../../_csharplang/proposals/csharp-9.0/target-typed-new.md
142140
- name: Target-typed conditional expression
@@ -187,8 +185,6 @@ items:
187185
href: ../../../_csharplang/proposals/csharp-9.0/local-function-attributes.md
188186
- name: Pattern based using and using declarations
189187
href: ../../../_csharplang/proposals/csharp-8.0/using.md
190-
- name: Async streams
191-
href: ../../../_csharplang/proposals/csharp-8.0/async-streams.md
192188
- name: Lock object semantics
193189
href: ../../../_csharplang/proposals/csharp-13.0/lock-object.md
194190
- name: Allow `ref` and `unsafe`

0 commit comments

Comments
 (0)