You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -732,7 +737,9 @@ There are two forms of nullability for reference types:
732
737
733
738
> *Note:* The types `R` and `R?` are represented by the same underlying type, `R`. A variable of that underlying type can either contain a reference to an object or be the value `null`, which indicates “no reference.” *end note*
734
739
735
-
The syntactic distinction between a *nullable reference type* and its corresponding *non-nullable reference type* enables a compiler to generate diagnostics. A compiler must allow the *nullable_type_annotation* as defined in [§8.2.1](types.md#821-general). The diagnostics must be limited to warnings. Neither the presence or absence of nullable annotations, nor the state of the nullable context can change the compile time or runtime behavior of a program except for changes in any diagnostic messages generated at compile time.
740
+
The syntactic distinction between a *nullable reference type* and its corresponding *non-nullable reference type* enables a compiler to generate diagnostics. A compiler must allow the *nullable_type_annotation* as defined in [§8.2.1](types.md#821-general). The diagnostics must be limited to warnings. Other than in the meaning of array types, neither the presence or absence of nullable annotations, nor the state of the nullable context can change the compile time or runtime behavior of a program except for changes in any diagnostic messages generated at compile time.
741
+
742
+
The meaning of array types is significantly impacted by the presence of *nullable_type_annotation* within an *array_type*, as described in [§17.2.1](arrays.md#1721-general).
736
743
737
744
### 8.9.2 Non-nullable reference types
738
745
@@ -756,6 +763,8 @@ Throughout this specification, all C# code that does not contain nullable direct
756
763
757
764
> *Note:* A nullable context where both flags are disabled matches the previous standard behavior for reference types. *end note*
758
765
766
+
The rank and element of an array type declared using *nullable_type_annotation* is not affected by the nullable context.
767
+
759
768
#### 8.9.4.2 Nullable disable
760
769
761
770
When both the warning and annotations flags are disabled, the nullable context is *disabled*.
@@ -1106,6 +1115,8 @@ A compiler may issue a warning when nullability annotations differ between two t
0 commit comments