Skip to content

Commit 49d9060

Browse files
authored
Unpublish C# 8 patterns (#49549)
* Unpublish C# 8 patterns The ECMA committee merged dotnet/csharpstandard#873 Now, remove the feature spec from publication. * Fix warnings * Remove C# 8 feature spec references It's all in the standard now.
1 parent 5aad86d commit 49d9060

32 files changed

+50
-121
lines changed

.openpublishing.redirection.csharp.json

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -108,26 +108,6 @@
108108
"source_path_from_root": "/redirections/proposals/csharp-7.3/tuple-equality.md",
109109
"redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#121211-tuple-equality-operators"
110110
},
111-
{
112-
"source_path_from_root": "/redirections/proposals/csharp-8.0/nullable-reference-types.md",
113-
"redirect_url": "/dotnet/csharp/language-reference/language-specification/types#893-nullable-reference-types"
114-
},
115-
{
116-
"source_path_from_root": "/redirections/proposals/csharp-8.0/nested-stackalloc.md",
117-
"redirect_url": "/dotnet/csharp/language-reference/language-specification/structs#164127-stackalloc"
118-
},
119-
{
120-
"source_path_from_root": "/redirections/proposals/csharp-8.0/readonly-instance-members.md",
121-
"redirect_url": "/dotnet/csharp/language-reference/language-specification/structs#16411-properties"
122-
},
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#1222-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#13953-await-foreach"
130-
},
131111
{
132112
"source_path_from_root": "/redirections/proposals/csharp-9.0/nullable-reference-types-specification.md",
133113
"redirect_url": "/dotnet/csharp/language-reference/language-specification/types#893-nullable-reference-types"
@@ -1473,18 +1453,6 @@
14731453
"source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-7.3/index.md",
14741454
"redirect_url": "/dotnet/csharp/language-reference/proposals/csharp-7.3/ref-local-reassignment"
14751455
},
1476-
{
1477-
"source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-8.0/index.md",
1478-
"redirect_url": "/dotnet/csharp/language-reference/language-specification/types#893-nullable-reference-types"
1479-
},
1480-
{
1481-
"source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-8.0/static-local-functions.md",
1482-
"redirect_url": "/dotnet/csharp/language-reference/language-specification/statements#1364-local-function-declarations"
1483-
},
1484-
{
1485-
"source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-8.0/nullable-reference-types.md",
1486-
"redirect_url": "/dotnet/csharp/language-reference/language-specification/types#893-nullable-reference-types"
1487-
},
14881456
{
14891457
"source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-9.0/nullable-reference-types-specification.md",
14901458
"redirect_url": "/dotnet/csharp/language-reference/language-specification/types#893-nullable-reference-types"

docfx.json

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@
4848
},
4949
{
5050
"files": [
51-
"csharp-8.0/*.md",
5251
"csharp-9.0/*.md",
5352
"csharp-10.0/*.md",
5453
"csharp-11.0/*.md",
@@ -62,24 +61,6 @@
6261
"**/README.md",
6362
"inactive/**",
6463
"rejected/**",
65-
"csharp-8.0/alternative-interpolated-verbatim.md",
66-
"csharp-8.0/async-using.md",
67-
"csharp-8.0/constraints-in-overrides.md",
68-
"csharp-8.0/constructed-unmanaged.md",
69-
"csharp-8.0/notnull-constraint.md",
70-
"csharp-8.0/obsolete-accessor.md",
71-
"csharp-8.0/shadowing-in-nested-functions.md",
72-
"csharp-8.0/static-local-functions.md",
73-
"csharp-8.0/unconstrained-null-coalescing.md",
74-
"csharp-8.0/nullable-reference-types.md",
75-
"csharp-8.0/nullable-reference-types-specification.md",
76-
"csharp-8.0/nested-stackalloc.md",
77-
"csharp-8.0/readonly-instance-members.md",
78-
"csharp-8.0/null-coalescing-assignment.md",
79-
"csharp-8.0/async-streams.md",
80-
"csharp-8.0/ranges.md",
81-
"csharp-8.0/using.md",
82-
"csharp-8.0/default-interface-methods.md",
8364
"csharp-9.0/nullable-reference-types-specification.md",
8465
"csharp-9.0/nullable-constructor-analysis.md",
8566
"csharp-9.0/nullable-parameter-default-value-analysis.md",
@@ -524,7 +505,6 @@
524505
},
525506
"ms.date": {
526507
"_csharpstandard/standard/*.md": "09/12/2025",
527-
"_csharplang/proposals/csharp-8.0/*.md": "09/10/2019",
528508
"_csharplang/proposals/csharp-9.0/*.md": "07/29/2020",
529509
"_csharplang/proposals/csharp-10.0/*.md": "08/07/2021",
530510
"_csharplang/proposals/csharp-11.0/*.md": "09/30/2022",
@@ -638,7 +618,6 @@
638618
"_csharpstandard/standard/standard-library.md": "Standard library",
639619
"_csharpstandard/standard/documentation-comments.md": "Documentation comments",
640620
"_csharpstandard/standard/Bibliography.md": "Bibliography",
641-
"_csharplang/proposals/csharp-8.0/patterns.md": "Recursive pattern matching",
642621
"_csharplang/proposals/csharp-9.0/covariant-returns.md": "Covariant return types",
643622
"_csharplang/proposals/csharp-9.0/extending-partial-methods.md": "Extending partial methods",
644623
"_csharplang/proposals/csharp-9.0/extension-getenumerator.md": "Extension GetEnumerator support in foreach",
@@ -765,7 +744,6 @@
765744
"_csharpstandard/standard/standard-library.md": "This appendix lists requirements of the specification library. The C# language relies on these types for some of its behavior.",
766745
"_csharpstandard/standard/documentation-comments.md": "This appendix describes XML comments that are used to document your program.",
767746
"_csharpstandard/standard/Bibliography.md": "This appendix lists external standards referenced in this specification.",
768-
"_csharplang/proposals/csharp-8.0/patterns.md": "This feature specification describes recursive pattern matching, where patterns can nest inside other patterns.",
769747
"_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.",
770748
"_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.",
771749
"_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.",
@@ -861,7 +839,6 @@
861839
"titleSuffix": {
862840
"docs/**/*.md": ".NET",
863841
"_csharpstandard/standard/*.md": "C# language specification",
864-
"_csharplang/proposals/csharp-8.0/*.md": "C# feature specifications",
865842
"_csharplang/proposals/csharp-9.0/*.md": "C# feature specifications",
866843
"_csharplang/proposals/csharp-10.0/*.md": "C# feature specifications",
867844
"_csharplang/proposals/csharp-11.0/*.md": "C# feature specifications",

docs/csharp/language-reference/builtin-types/enum.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,8 @@ For more information, see the following sections of the [C# language specificati
8888

8989
- [Enums](~/_csharpstandard/standard/enums.md)
9090
- [Enum values and operations](~/_csharpstandard/standard/enums.md#206-enum-values-and-operations)
91-
- [Enumeration logical operators](~/_csharpstandard/standard/expressions.md#12143-enumeration-logical-operators)
92-
- [Enumeration comparison operators](~/_csharpstandard/standard/expressions.md#12136-enumeration-comparison-operators)
91+
- [Enumeration logical operators](~/_csharpstandard/standard/expressions.md#12153-enumeration-logical-operators)
92+
- [Enumeration comparison operators](~/_csharpstandard/standard/expressions.md#12146-enumeration-comparison-operators)
9393
- [Explicit enumeration conversions](~/_csharpstandard/standard/conversions.md#1033-explicit-enumeration-conversions)
9494
- [Implicit enumeration conversions](~/_csharpstandard/standard/conversions.md#1024-implicit-enumeration-conversions)
9595

docs/csharp/language-reference/builtin-types/nullable-reference-types.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,7 @@ There are two ways to control the nullable context. At the project level, you ca
7272

7373
## C# language specification
7474

75-
For more information, see the following proposals for the [C# language specification](~/_csharpstandard/standard/README.md):
76-
77-
- [Nullable reference types](~/_csharplang/proposals/csharp-8.0/nullable-reference-types.md)
78-
- [Draft nullable reference types specification](~/_csharplang/proposals/csharp-9.0/nullable-reference-types-specification.md)
75+
For more information, see the [Nullable reference types](~/_csharpstandard/standard/types.md#89-reference-types-and-nullability) section of the [C# language specification](~/_csharpstandard/standard/README.md):
7976

8077
## See also
8178

docs/csharp/language-reference/builtin-types/struct.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,8 @@ For more information, see the [Structs](~/_csharpstandard/standard/structs.md) s
172172

173173
For more information about `struct` features, see the following feature proposal notes:
174174

175-
- [Readonly structs](~/_csharplang/proposals/csharp-7.2/readonly-ref.md#readonly-structs)
176-
- [Readonly instance members](~/_csharplang/proposals/csharp-8.0/readonly-instance-members.md)
175+
- [Readonly structs](~/_csharpstandard/standard/structs.md#1622-struct-modifiers)
176+
- [Readonly instance members](~/_csharpstandard/standard/structs.md#163-struct-members)
177177
- [Parameterless struct constructors](~/_csharplang/proposals/csharp-10.0/parameterless-struct-constructors.md)
178178
- [Allow `with` expression on structs](~/_csharplang/proposals/csharp-10.0/record-structs.md#allow-with-expression-on-structs)
179179
- [Record structs](~/_csharplang/proposals/csharp-10.0/record-structs.md)

docs/csharp/language-reference/compiler-messages/overloaded-operator-errors.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ To fix these errors, remove invalid conversion operators or restructure your typ
298298
- **CS0217**: *In order to be applicable as a short-circuit operator, a user-defined logical operator must have the same return type as the type of its 2 parameters.*
299299
- **CS0218**: *The type must contain declarations of operator true and operator false.*
300300

301-
These errors occur when you define logical operators incorrectly. Certain operators must be defined in pairs, and short-circuit operators have specific signature requirements. For more information, see [true and false operators](../operators/true-false-operators.md), [Boolean logical operators](../operators/boolean-logical-operators.md), and [User-defined conditional logical operators](~/_csharpstandard/standard/expressions.md#12153-user-defined-conditional-logical-operators). The following code demonstrates these errors:
301+
These errors occur when you define logical operators incorrectly. Certain operators must be defined in pairs, and short-circuit operators have specific signature requirements. For more information, see [true and false operators](../operators/true-false-operators.md), [Boolean logical operators](../operators/boolean-logical-operators.md), and [User-defined conditional logical operators](~/_csharpstandard/standard/expressions.md#12163-user-defined-conditional-logical-operators). The following code demonstrates these errors:
302302

303303
```csharp
304304
class C

docs/csharp/language-reference/keywords/const.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ The following example demonstrates how to declare a local constant:
6363
For more information, see the following sections of the [C# language specification](~/_csharpstandard/standard/README.md):
6464

6565
- [Constants](~/_csharpstandard/standard/classes.md#154-constants)
66-
- [Constant expressions](~/_csharpstandard/standard/expressions.md#1224-constant-expressions)
66+
- [Constant expressions](~/_csharpstandard/standard/expressions.md#1225-constant-expressions)
6767

6868
## See also
6969

docs/csharp/language-reference/keywords/interface.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ An interface declaration can contain the following members:
4040
- [A static constructor](../../programming-guide/classes-and-structs/constructors.md#static-constructors).
4141
- [Nested types](../../programming-guide/classes-and-structs/nested-types.md).
4242
- [Static fields, methods, properties, indexers, and events](static.md).
43-
- [Member declarations using the explicit interface implementation syntax](~/_csharplang/proposals/csharp-8.0/default-interface-methods.md#explicit-implementation-in-interfaces).
4443
- Explicit access modifiers (the default access for abstract methods is [`public`](access-modifiers.md)).
4544

4645
## Default interface members
@@ -90,7 +89,7 @@ The following example demonstrates interface implementation. In this example, th
9089

9190
## C# language specification
9291

93-
For more information, see the [Interfaces](~/_csharpstandard/standard/interfaces.md) section of the [C# language specification](~/_csharpstandard/standard/README.md), the feature specification for [C# 8 - Default interface members](~/_csharplang/proposals/csharp-8.0/default-interface-methods.md), and the feature spec for [C# 11 - static abstract members in interfaces](~/_csharplang/proposals/csharp-11.0/static-abstracts-in-interfaces.md).
92+
For more information, see the [Interfaces](~/_csharpstandard/standard/interfaces.md) section of the [C# language specification](~/_csharpstandard/standard/README.md) and the feature spec for [C# 11 - static abstract members in interfaces](~/_csharplang/proposals/csharp-11.0/static-abstracts-in-interfaces.md).
9493

9594
## See also
9695

docs/csharp/language-reference/keywords/readonly.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -97,11 +97,6 @@ The method essentially returns a `readonly` reference together with the instance
9797

9898
[!INCLUDE[CSharplangspec](~/includes/csharplangspec-md.md)]
9999

100-
You can also see the language specification proposals:
101-
102-
- [readonly ref and readonly struct](~/_csharplang/proposals/csharp-7.2/readonly-ref.md)
103-
- [readonly struct members](~/_csharplang/proposals/csharp-8.0/readonly-instance-members.md)
104-
105100
## See also
106101

107102
- [Add readonly modifier (style rule IDE0044)](../../../fundamentals/code-analysis/style-rules/ide0044.md)

docs/csharp/language-reference/operators/addition-operator.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ A user-defined type can [overload](operator-overloading.md) the `+` operator. Wh
7272

7373
## C# language specification
7474

75-
For more information, see the [Unary plus operator](~/_csharpstandard/standard/expressions.md#1292-unary-plus-operator) and [Addition operator](~/_csharpstandard/standard/expressions.md#12115-addition-operator) sections of the [C# language specification](~/_csharpstandard/standard/README.md). For more information on overloading the compound assignment operators in C# 14 and later, see the [user defined compound assignment](~/_csharplang/proposals/csharp-14.0/user-defined-compound-assignment.md) feature specification.
75+
For more information, see the [Unary plus operator](~/_csharpstandard/standard/expressions.md#1292-unary-plus-operator) and [Addition operator](~/_csharpstandard/standard/expressions.md#12125-addition-operator) sections of the [C# language specification](~/_csharpstandard/standard/README.md). For more information on overloading the compound assignment operators in C# 14 and later, see the [user defined compound assignment](~/_csharplang/proposals/csharp-14.0/user-defined-compound-assignment.md) feature specification.
7676

7777
## See also
7878

0 commit comments

Comments
 (0)