From 5e755ff50ba4bcf126a18bdbd67cd33e534fa81a Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 21 Nov 2024 08:57:09 -0500 Subject: [PATCH 1/3] remove NRT feature spec The Nullable Reference Types features have been merged into the draft standard. Remove the feature specs from our platform, and update any section anchors. --- .openpublishing.redirection.csharp.json | 8 ++++++++ docfx.json | 8 +++----- docs/csharp/nullable-references.md | 3 +-- docs/csharp/specification/feature-spec-overview.md | 2 +- docs/csharp/specification/toc.yml | 4 ---- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/.openpublishing.redirection.csharp.json b/.openpublishing.redirection.csharp.json index e1ac81e6e7225..84382dca3e096 100644 --- a/.openpublishing.redirection.csharp.json +++ b/.openpublishing.redirection.csharp.json @@ -108,6 +108,14 @@ "source_path_from_root": "/redirections/proposals/csharp-7.3/tuple-equality.md", "redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#121211-tuple-equality-operators" }, + { + "source_path_from_root": "/redirections/proposals/csharp-8.0/nullable-reference-types.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/types.md#893-nullable-reference-types" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-9.0/nullable-reference-types-specification.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/types.md#893-nullable-reference-types" + }, { "source_path_from_root": "/redirections/proposals/csharp-10.0/generic-attributes.md", "redirect_url": "/dotnet/csharp/language-reference/proposals/csharp-11.0/generic-attributes" diff --git a/docfx.json b/docfx.json index 4837312d81019..b103331d1f35e 100644 --- a/docfx.json +++ b/docfx.json @@ -71,7 +71,9 @@ "csharp-8.0/shadowing-in-nested-functions.md", "csharp-8.0/static-local-functions.md", "csharp-8.0/unconstrained-null-coalescing.md", - "csharp-8.0/nullable-reference-types-specification.md" + "csharp-8.0/nullable-reference-types.md", + "csharp-8.0/nullable-reference-types-specification.md", + "csharp-9.0/nullable-reference-types-specification.md" ] }, { @@ -599,7 +601,6 @@ "_csharpstandard/standard/standard-library.md": "Standard library", "_csharpstandard/standard/documentation-comments.md": "Documentation comments", "_csharpstandard/standard/Bibliography.md": "Bibliography", - "_csharplang/proposals/csharp-8.0/nullable-reference-types.md": "Null reference types - proposal", "_csharplang/proposals/csharp-8.0/patterns.md": "Recursive pattern matching", "_csharplang/proposals/csharp-8.0/default-interface-methods.md": "Default interface methods", "_csharplang/proposals/csharp-8.0/async-streams.md": "Async streams", @@ -617,7 +618,6 @@ "_csharplang/proposals/csharp-9.0/local-function-attributes.md": "Attributes on local functions", "_csharplang/proposals/csharp-9.0/module-initializers.md": "Module initializers", "_csharplang/proposals/csharp-9.0/native-integers.md": "Native sized integers", - "_csharplang/proposals/csharp-9.0/nullable-reference-types-specification.md": "Nullable reference types - specification", "_csharplang/proposals/csharp-9.0/patterns3.md": "Pattern matching changes", "_csharplang/proposals/csharp-9.0/records.md": "Records", "_csharplang/proposals/csharp-9.0/skip-localsinit.md": "Suppress emitting localsinit flag", @@ -722,7 +722,6 @@ "_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.", "_csharpstandard/standard/documentation-comments.md": "This appendix describes XML comments that are used to document your program.", "_csharpstandard/standard/Bibliography.md": "This appendix lists external standards referenced in this specification.", - "_csharplang/proposals/csharp-8.0/nullable-reference-types.md": "This feature specification describes nullable reference types.", "_csharplang/proposals/csharp-8.0/patterns.md": "This feature specification describes recursive pattern matching, where patterns can nest inside other patterns.", "_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.", "_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.", @@ -740,7 +739,6 @@ "_csharplang/proposals/csharp-9.0/local-function-attributes.md": "This feature specification describes rules to apply attributes on local functions.", "_csharplang/proposals/csharp-9.0/module-initializers.md": "This feature specification describes how to declare module initializers, which are methods called by the runtime when a module, or assembly, is loaded.", "_csharplang/proposals/csharp-9.0/native-integers.md": "This feature specification describes native sized integers, which are integer types that use the processor's natural integral types.", - "_csharplang/proposals/csharp-9.0/nullable-reference-types-specification.md": "This feature specification provides a more complete specification for nullable reference types.", "_csharplang/proposals/csharp-9.0/patterns3.md": "This feature specification describes the additional pattern matching syntax added in C# 9.0. This includes relational patterns, 'and' and 'or' patterns, negated patterns and parenthesized patterns.", "_csharplang/proposals/csharp-9.0/records.md": "This feature specification describes records. Records are reference types that provide value based equality semantics.", "_csharplang/proposals/csharp-9.0/skip-localsinit.md": "This feature specification describes a performance enhancement to suppress emitting localsinit flag. This will prevent the runtime from initializing memory to 0 as part of allocating it.", diff --git a/docs/csharp/nullable-references.md b/docs/csharp/nullable-references.md index 4cddf00616a5f..c1fe093472d0b 100644 --- a/docs/csharp/nullable-references.md +++ b/docs/csharp/nullable-references.md @@ -389,8 +389,7 @@ In the preceding example, the declaration of the array shows it holds non-nullab ## See also -- [Nullable reference types proposal](~/_csharplang/proposals/csharp-8.0/nullable-reference-types.md) -- [Draft nullable reference types specification](~/_csharplang/proposals/csharp-9.0/nullable-reference-types-specification.md) +- [Nullable reference types specification](~/_csharpstandard/standard/types.md#893-nullable-reference-types) - [Unconstrained type parameter annotations](~/_csharplang/proposals/csharp-9.0/unconstrained-type-parameter-annotations.md) - [Intro to nullable references tutorial](tutorials/nullable-reference-types.md) - [**Nullable** (C# Compiler option)](language-reference/compiler-options/language.md#nullable) diff --git a/docs/csharp/specification/feature-spec-overview.md b/docs/csharp/specification/feature-spec-overview.md index fc0ebd57ed092..07a79d999dd6c 100644 --- a/docs/csharp/specification/feature-spec-overview.md +++ b/docs/csharp/specification/feature-spec-overview.md @@ -5,7 +5,7 @@ ms.date: 05/08/2024 --- # Feature specifications -Because the [C# standard specification](overview.md) has fallen behind the latest C# implementation, this section contains the [Microsoft specifications](~/_csharplang/proposals/csharp-8.0/nullable-reference-types.md) for those newer features that haven't yet been incorporated into the standard. You can read these specifications to get information on newer features. +Because the [C# standard specification](overview.md) has fallen behind the latest C# implementation, this section contains the [Microsoft specifications](~/_csharplang/proposals/csharp-10.0/enhanced-line-directives.md) for those newer features that haven't yet been incorporated into the standard. You can read these specifications to get information on newer features. The feature specifications began as proposals for the design. They include proposed changes to the standard. The C# language design team and compiler team produce these feature specifications. The purpose of the proposals is to guide the design and implementation of the feature. They might include proposed features that haven't yet been implemented. The actual implementation might have modified behavior. Those changes are captured in the language design meeting (LDM) notes. The LDM notes are the minutes of the language design meetings. In most cases, the pertinent LDM notes are linked from the feature specifications. diff --git a/docs/csharp/specification/toc.yml b/docs/csharp/specification/toc.yml index 5d2db2c0cec85..62b4710ca2b98 100644 --- a/docs/csharp/specification/toc.yml +++ b/docs/csharp/specification/toc.yml @@ -89,10 +89,6 @@ items: href: ../../../_csharplang/proposals/csharp-9.0/skip-localsinit.md - name: Types items: - - name: Nullable reference types - proposal - href: ../../../_csharplang/proposals/csharp-8.0/nullable-reference-types.md - - name: Nullable reference types - specification - href: ../../../_csharplang/proposals/csharp-9.0/nullable-reference-types-specification.md - name: Records href: ../../../_csharplang/proposals/csharp-9.0/records.md - name: Record structs From 9efc206835920e7df795e40848c0d3784d9f1788 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 21 Nov 2024 09:13:19 -0500 Subject: [PATCH 2/3] warnings, part 1 Fix warnings, part 1. --- .openpublishing.redirection.csharp.json | 8 ++++++++ docfx.json | 4 +++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.openpublishing.redirection.csharp.json b/.openpublishing.redirection.csharp.json index 84382dca3e096..8234e4bc46f47 100644 --- a/.openpublishing.redirection.csharp.json +++ b/.openpublishing.redirection.csharp.json @@ -1386,6 +1386,14 @@ "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-8.0/static-local-functions.md", "redirect_url": "/dotnet/csharp/language-reference/language-specification/statements.md#1364-local-function-declarations" }, + { + "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-8.0/nullable-reference-types.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/types.md#893-nullable-reference-types" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/proposals/nullable-reference-types-specification.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/types.md#893-nullable-reference-types" + }, { "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-9.0/index.md", "redirect_url": "/dotnet/csharp/language-reference/proposals/csharp-9.0/records" diff --git a/docfx.json b/docfx.json index b103331d1f35e..e14d7c8db81cd 100644 --- a/docfx.json +++ b/docfx.json @@ -73,7 +73,9 @@ "csharp-8.0/unconstrained-null-coalescing.md", "csharp-8.0/nullable-reference-types.md", "csharp-8.0/nullable-reference-types-specification.md", - "csharp-9.0/nullable-reference-types-specification.md" + "csharp-9.0/nullable-reference-types-specification.md", + "csharp-9.0/nullable-constructor-analysis.md", + "csharp-9.0/nullable-parameter-default-value-analysis.md" ] }, { From e418be4ab3d02b74f037ac0084d5d43601d317ce Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 21 Nov 2024 09:21:29 -0500 Subject: [PATCH 3/3] warnings, part 2 --- .openpublishing.redirection.csharp.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.openpublishing.redirection.csharp.json b/.openpublishing.redirection.csharp.json index 8234e4bc46f47..42d2deeb86218 100644 --- a/.openpublishing.redirection.csharp.json +++ b/.openpublishing.redirection.csharp.json @@ -1391,7 +1391,15 @@ "redirect_url": "/dotnet/csharp/language-reference/language-specification/types.md#893-nullable-reference-types" }, { - "source_path_from_root": "/docs/csharp/language-reference/proposals/nullable-reference-types-specification.md", + "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-9.0/nullable-reference-types-specification.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/types.md#893-nullable-reference-types" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-9.0/nullable-constructor-analysis.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/types.md#893-nullable-reference-types" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-9.0/nullable-parameter-default-value-analysis.md", "redirect_url": "/dotnet/csharp/language-reference/language-specification/types.md#893-nullable-reference-types" }, {