From f466a1415faecfe14acb047e332f99530d7ae84c Mon Sep 17 00:00:00 2001 From: Julien Couvreur Date: Tue, 29 Oct 2019 14:18:56 -0700 Subject: [PATCH] Remove mentions of safeonly context (#2900) --- .../nullable-reference-types-specification.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/proposals/csharp-8.0/nullable-reference-types-specification.md b/proposals/csharp-8.0/nullable-reference-types-specification.md index 4fb009b..a65283b 100644 --- a/proposals/csharp-8.0/nullable-reference-types-specification.md +++ b/proposals/csharp-8.0/nullable-reference-types-specification.md @@ -97,7 +97,6 @@ nullable_action : 'disable' | 'enable' | 'restore' - | 'safeonly' ; ``` @@ -119,11 +118,11 @@ Note that the new form of `pragma_warning_body` uses `nullable_action`, not `war ## Nullable contexts -Every line of source code has a *nullable annotation context* and a *nullable warning context*. These control whether nullable annotations have effect, and whether nullability warnings are given. The annotation context of a given line is either *disabled* or *enabled*. The warning context of a given line is either *disabled*, *safeonly* or *enabled*. +Every line of source code has a *nullable annotation context* and a *nullable warning context*. These control whether nullable annotations have effect, and whether nullability warnings are given. The annotation context of a given line is either *disabled* or *enabled*. The warning context of a given line is either *disabled* or *enabled*. -Both contexts can be specified at the project level (outside of C# source code), or anywhere within a source file via `#nullable` and `#pragma warning` pre-processor directives. If no project level settings are provided the default is for both contexts to be *disabled*. +Both contexts can be specified at the project level (outside of C# source code), or anywhere within a source file via `#nullable` pre-processor directives. If no project level settings are provided the default is for both contexts to be *disabled*. -The `#nullable` directive controls both the annotation and warning contexts within the source text, and take precedence over the project-level settings. The `#pragma warning ... nullable` directives control only the warning context, leaving the annotation context unchanged. +The `#nullable` directive controls the annotation and warning contexts within the source text, and take precedence over the project-level settings. A directive sets the context(s) it controls for subsequent lines of code, until another directive overrides it, or until the end of the source file. @@ -132,11 +131,12 @@ The effect of the directives is as follows: - `#nullable disable`: Sets the nullable annotation and warning contexts to *disabled* - `#nullable enable`: Sets the nullable annotation and warning contexts to *enabled* - `#nullable restore`: Restores the nullable annotation and warning contexts to project settings -- `#nullable safeonly`: Sets the nullable annotation context to *enabled* and the warning context to *safeonly* -- `#pragma warning disable nullable`: Sets the nullable warning context to *disabled* -- `#pragma warning enable nullable`: Sets the nullable warning context to *enabled* -- `#pragma warning restore nullable`: Restores the nullable warning context to project settings -- `#pragma warning safeonly nullable`: Sets the nullable warning context to *safeonly* +- `#nullable disable annotations`: Sets the nullable annotation context to *disabled* +- `#nullable enable annotations`: Sets the nullable annotation context to *enabled* +- `#nullable restore annotations`: Restores the nullable annotation context to project settings +- `#nullable disable warnings`: Sets the nullable warning context to *disabled* +- `#nullable enable warnings`: Sets the nullable warning context to *enabled* +- `#nullable restore warnings`: Restores the nullable warning context to project settings ## Nullability of types