Skip to content

Commit f9d1dc2

Browse files
[create-pull-request] automated change (dotnet#1445)
Co-authored-by: BillWagner <BillWagner@users.noreply.github.com>
1 parent dda7603 commit f9d1dc2

18 files changed

Lines changed: 390 additions & 317 deletions

standard/README.md

Lines changed: 73 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@
219219
- [§10.2.15](conversions.md#10215-anonymous-function-conversions-and-method-group-conversions) Anonymous function conversions and method group conversions
220220
- [§10.2.16](conversions.md#10216-default-literal-conversions) Default literal conversions
221221
- [§10.2.17](conversions.md#10217-implicit-throw-conversions) Implicit throw conversions
222+
- [§10.2.18](conversions.md#10218-switch-expression-conversion) Switch expression conversion
222223
- [§10.3](conversions.md#103-explicit-conversions) Explicit conversions
223224
- [§10.3.1](conversions.md#1031-general) General
224225
- [§10.3.2](conversions.md#1032-explicit-numeric-conversions) Explicit numeric conversions
@@ -254,6 +255,9 @@
254255
- [§11.2.2](patterns.md#1122-declaration-pattern) Declaration pattern
255256
- [§11.2.3](patterns.md#1123-constant-pattern) Constant pattern
256257
- [§11.2.4](patterns.md#1124-var-pattern) Var pattern
258+
- [§11.2.5](patterns.md#1125-positional-pattern) Positional pattern
259+
- [§11.2.6](patterns.md#1126-property-pattern) Property pattern
260+
- [§11.2.7](patterns.md#1127-discard-pattern) Discard pattern
257261
- [§11.3](patterns.md#113-pattern-subsumption) Pattern subsumption
258262
- [§11.4](patterns.md#114-pattern-exhaustiveness) Pattern exhaustiveness
259263
- [§12](expressions.md#12-expressions) Expressions
@@ -379,78 +383,79 @@
379383
- [§12.9.9.3](expressions.md#12993-classification-of-await-expressions) Classification of await expressions
380384
- [§12.9.9.4](expressions.md#12994-run-time-evaluation-of-await-expressions) Run-time evaluation of await expressions
381385
- [§12.10](expressions.md#1210-range-operator) Range operator
382-
- [§12.11](expressions.md#1211-arithmetic-operators) Arithmetic operators
383-
- [§12.11.1](expressions.md#12111-general) General
384-
- [§12.11.2](expressions.md#12112-multiplication-operator) Multiplication operator
385-
- [§12.11.3](expressions.md#12113-division-operator) Division operator
386-
- [§12.11.4](expressions.md#12114-remainder-operator) Remainder operator
387-
- [§12.11.5](expressions.md#12115-addition-operator) Addition operator
388-
- [§12.11.6](expressions.md#12116-subtraction-operator) Subtraction operator
389-
- [§12.12](expressions.md#1212-shift-operators) Shift operators
390-
- [§12.13](expressions.md#1213-relational-and-type-testing-operators) Relational and type-testing operators
391-
- [§12.13.1](expressions.md#12131-general) General
392-
- [§12.13.2](expressions.md#12132-integer-comparison-operators) Integer comparison operators
393-
- [§12.13.3](expressions.md#12133-floating-point-comparison-operators) Floating-point comparison operators
394-
- [§12.13.4](expressions.md#12134-decimal-comparison-operators) Decimal comparison operators
395-
- [§12.13.5](expressions.md#12135-boolean-equality-operators) Boolean equality operators
396-
- [§12.13.6](expressions.md#12136-enumeration-comparison-operators) Enumeration comparison operators
397-
- [§12.13.7](expressions.md#12137-reference-type-equality-operators) Reference type equality operators
398-
- [§12.13.8](expressions.md#12138-string-equality-operators) String equality operators
399-
- [§12.13.9](expressions.md#12139-delegate-equality-operators) Delegate equality operators
400-
- [§12.13.10](expressions.md#121310-equality-operators-between-nullable-value-types-and-the-null-literal) Equality operators between nullable value types and the null literal
401-
- [§12.13.11](expressions.md#121311-tuple-equality-operators) Tuple equality operators
402-
- [§12.13.12](expressions.md#121312-the-is-operator) The is operator
403-
- [§12.13.12.1](expressions.md#1213121-the-is-type-operator) The is-type operator
404-
- [§12.13.12.2](expressions.md#1213122-the-is-pattern-operator) The is-pattern operator
405-
- [§12.13.13](expressions.md#121313-the-as-operator) The as operator
406-
- [§12.14](expressions.md#1214-logical-operators) Logical operators
386+
- [§12.11](expressions.md#1211-switch-expression) Switch expression
387+
- [§12.12](expressions.md#1212-arithmetic-operators) Arithmetic operators
388+
- [§12.12.1](expressions.md#12121-general) General
389+
- [§12.12.2](expressions.md#12122-multiplication-operator) Multiplication operator
390+
- [§12.12.3](expressions.md#12123-division-operator) Division operator
391+
- [§12.12.4](expressions.md#12124-remainder-operator) Remainder operator
392+
- [§12.12.5](expressions.md#12125-addition-operator) Addition operator
393+
- [§12.12.6](expressions.md#12126-subtraction-operator) Subtraction operator
394+
- [§12.13](expressions.md#1213-shift-operators) Shift operators
395+
- [§12.14](expressions.md#1214-relational-and-type-testing-operators) Relational and type-testing operators
407396
- [§12.14.1](expressions.md#12141-general) General
408-
- [§12.14.2](expressions.md#12142-integer-logical-operators) Integer logical operators
409-
- [§12.14.3](expressions.md#12143-enumeration-logical-operators) Enumeration logical operators
410-
- [§12.14.4](expressions.md#12144-boolean-logical-operators) Boolean logical operators
411-
- [§12.14.5](expressions.md#12145-nullable-boolean--and--operators) Nullable Boolean & and | operators
412-
- [§12.15](expressions.md#1215-conditional-logical-operators) Conditional logical operators
397+
- [§12.14.2](expressions.md#12142-integer-comparison-operators) Integer comparison operators
398+
- [§12.14.3](expressions.md#12143-floating-point-comparison-operators) Floating-point comparison operators
399+
- [§12.14.4](expressions.md#12144-decimal-comparison-operators) Decimal comparison operators
400+
- [§12.14.5](expressions.md#12145-boolean-equality-operators) Boolean equality operators
401+
- [§12.14.6](expressions.md#12146-enumeration-comparison-operators) Enumeration comparison operators
402+
- [§12.14.7](expressions.md#12147-reference-type-equality-operators) Reference type equality operators
403+
- [§12.14.8](expressions.md#12148-string-equality-operators) String equality operators
404+
- [§12.14.9](expressions.md#12149-delegate-equality-operators) Delegate equality operators
405+
- [§12.14.10](expressions.md#121410-equality-operators-between-nullable-value-types-and-the-null-literal) Equality operators between nullable value types and the null literal
406+
- [§12.14.11](expressions.md#121411-tuple-equality-operators) Tuple equality operators
407+
- [§12.14.12](expressions.md#121412-the-is-operator) The is operator
408+
- [§12.14.12.1](expressions.md#1214121-the-is-type-operator) The is-type operator
409+
- [§12.14.12.2](expressions.md#1214122-the-is-pattern-operator) The is-pattern operator
410+
- [§12.14.13](expressions.md#121413-the-as-operator) The as operator
411+
- [§12.15](expressions.md#1215-logical-operators) Logical operators
413412
- [§12.15.1](expressions.md#12151-general) General
414-
- [§12.15.2](expressions.md#12152-boolean-conditional-logical-operators) Boolean conditional logical operators
415-
- [§12.15.3](expressions.md#12153-user-defined-conditional-logical-operators) User-defined conditional logical operators
416-
- [§12.16](expressions.md#1216-the-null-coalescing-operator) The null coalescing operator
417-
- [§12.17](expressions.md#1217-the-throw-expression-operator) The throw expression operator
418-
- [§12.18](expressions.md#1218-declaration-expressions) Declaration expressions
419-
- [§12.19](expressions.md#1219-conditional-operator) Conditional operator
420-
- [§12.20](expressions.md#1220-anonymous-function-expressions) Anonymous function expressions
421-
- [§12.20.1](expressions.md#12201-general) General
422-
- [§12.20.2](expressions.md#12202-anonymous-function-signatures) Anonymous function signatures
423-
- [§12.20.3](expressions.md#12203-anonymous-function-bodies) Anonymous function bodies
424-
- [§12.20.4](expressions.md#12204-overload-resolution) Overload resolution
425-
- [§12.20.5](expressions.md#12205-anonymous-functions-and-dynamic-binding) Anonymous functions and dynamic binding
426-
- [§12.20.6](expressions.md#12206-outer-variables) Outer variables
427-
- [§12.20.6.1](expressions.md#122061-general) General
428-
- [§12.20.6.2](expressions.md#122062-captured-outer-variables) Captured outer variables
429-
- [§12.20.6.3](expressions.md#122063-instantiation-of-local-variables) Instantiation of local variables
430-
- [§12.20.7](expressions.md#12207-evaluation-of-anonymous-function-expressions) Evaluation of anonymous function expressions
431-
- [§12.20.8](expressions.md#12208-implementation-example) Implementation Example
432-
- [§12.21](expressions.md#1221-query-expressions) Query expressions
413+
- [§12.15.2](expressions.md#12152-integer-logical-operators) Integer logical operators
414+
- [§12.15.3](expressions.md#12153-enumeration-logical-operators) Enumeration logical operators
415+
- [§12.15.4](expressions.md#12154-boolean-logical-operators) Boolean logical operators
416+
- [§12.15.5](expressions.md#12155-nullable-boolean--and--operators) Nullable Boolean & and | operators
417+
- [§12.16](expressions.md#1216-conditional-logical-operators) Conditional logical operators
418+
- [§12.16.1](expressions.md#12161-general) General
419+
- [§12.16.2](expressions.md#12162-boolean-conditional-logical-operators) Boolean conditional logical operators
420+
- [§12.16.3](expressions.md#12163-user-defined-conditional-logical-operators) User-defined conditional logical operators
421+
- [§12.17](expressions.md#1217-the-null-coalescing-operator) The null coalescing operator
422+
- [§12.18](expressions.md#1218-the-throw-expression-operator) The throw expression operator
423+
- [§12.19](expressions.md#1219-declaration-expressions) Declaration expressions
424+
- [§12.20](expressions.md#1220-conditional-operator) Conditional operator
425+
- [§12.21](expressions.md#1221-anonymous-function-expressions) Anonymous function expressions
433426
- [§12.21.1](expressions.md#12211-general) General
434-
- [§12.21.2](expressions.md#12212-ambiguities-in-query-expressions) Ambiguities in query expressions
435-
- [§12.21.3](expressions.md#12213-query-expression-translation) Query expression translation
436-
- [§12.21.3.1](expressions.md#122131-general) General
437-
- [§12.21.3.2](expressions.md#122132-query-expressions-with-continuations) Query expressions with continuations
438-
- [§12.21.3.3](expressions.md#122133-explicit-range-variable-types) Explicit range variable types
439-
- [§12.21.3.4](expressions.md#122134-degenerate-query-expressions) Degenerate query expressions
440-
- [§12.21.3.5](expressions.md#122135-from-let-where-join-and-orderby-clauses) From, let, where, join and orderby clauses
441-
- [§12.21.3.6](expressions.md#122136-select-clauses) Select clauses
442-
- [§12.21.3.7](expressions.md#122137-group-clauses) Group clauses
443-
- [§12.21.3.8](expressions.md#122138-transparent-identifiers) Transparent identifiers
444-
- [§12.21.4](expressions.md#12214-the-query-expression-pattern) The query-expression pattern
445-
- [§12.22](expressions.md#1222-assignment-operators) Assignment operators
427+
- [§12.21.2](expressions.md#12212-anonymous-function-signatures) Anonymous function signatures
428+
- [§12.21.3](expressions.md#12213-anonymous-function-bodies) Anonymous function bodies
429+
- [§12.21.4](expressions.md#12214-overload-resolution) Overload resolution
430+
- [§12.21.5](expressions.md#12215-anonymous-functions-and-dynamic-binding) Anonymous functions and dynamic binding
431+
- [§12.21.6](expressions.md#12216-outer-variables) Outer variables
432+
- [§12.21.6.1](expressions.md#122161-general) General
433+
- [§12.21.6.2](expressions.md#122162-captured-outer-variables) Captured outer variables
434+
- [§12.21.6.3](expressions.md#122163-instantiation-of-local-variables) Instantiation of local variables
435+
- [§12.21.7](expressions.md#12217-evaluation-of-anonymous-function-expressions) Evaluation of anonymous function expressions
436+
- [§12.21.8](expressions.md#12218-implementation-example) Implementation Example
437+
- [§12.22](expressions.md#1222-query-expressions) Query expressions
446438
- [§12.22.1](expressions.md#12221-general) General
447-
- [§12.22.2](expressions.md#12222-simple-assignment) Simple assignment
448-
- [§12.22.3](expressions.md#12223-ref-assignment) Ref assignment
449-
- [§12.22.4](expressions.md#12224-compound-assignment) Compound assignment
450-
- [§12.22.5](expressions.md#12225-event-assignment) Event assignment
451-
- [§12.23](expressions.md#1223-expression) Expression
452-
- [§12.24](expressions.md#1224-constant-expressions) Constant expressions
453-
- [§12.25](expressions.md#1225-boolean-expressions) Boolean expressions
439+
- [§12.22.2](expressions.md#12222-ambiguities-in-query-expressions) Ambiguities in query expressions
440+
- [§12.22.3](expressions.md#12223-query-expression-translation) Query expression translation
441+
- [§12.22.3.1](expressions.md#122231-general) General
442+
- [§12.22.3.2](expressions.md#122232-query-expressions-with-continuations) Query expressions with continuations
443+
- [§12.22.3.3](expressions.md#122233-explicit-range-variable-types) Explicit range variable types
444+
- [§12.22.3.4](expressions.md#122234-degenerate-query-expressions) Degenerate query expressions
445+
- [§12.22.3.5](expressions.md#122235-from-let-where-join-and-orderby-clauses) From, let, where, join and orderby clauses
446+
- [§12.22.3.6](expressions.md#122236-select-clauses) Select clauses
447+
- [§12.22.3.7](expressions.md#122237-group-clauses) Group clauses
448+
- [§12.22.3.8](expressions.md#122238-transparent-identifiers) Transparent identifiers
449+
- [§12.22.4](expressions.md#12224-the-query-expression-pattern) The query-expression pattern
450+
- [§12.23](expressions.md#1223-assignment-operators) Assignment operators
451+
- [§12.23.1](expressions.md#12231-general) General
452+
- [§12.23.2](expressions.md#12232-simple-assignment) Simple assignment
453+
- [§12.23.3](expressions.md#12233-ref-assignment) Ref assignment
454+
- [§12.23.4](expressions.md#12234-compound-assignment) Compound assignment
455+
- [§12.23.5](expressions.md#12235-event-assignment) Event assignment
456+
- [§12.24](expressions.md#1224-expression) Expression
457+
- [§12.25](expressions.md#1225-constant-expressions) Constant expressions
458+
- [§12.26](expressions.md#1226-boolean-expressions) Boolean expressions
454459
- [§13](statements.md#13-statements) Statements
455460
- [§13.1](statements.md#131-general) General
456461
- [§13.2](statements.md#132-end-points-and-reachability) End points and reachability

standard/arrays.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ Every array type inherits the members declared by the `System.Array` type.
126126
127127
For any two *reference_type*s `A` and `B`, if an implicit reference conversion ([§10.2.8](conversions.md#1028-implicit-reference-conversions)) or explicit reference conversion ([§10.3.5](conversions.md#1035-explicit-reference-conversions)) exists from `A` to `B`, then the same reference conversion also exists from the array type `A[R]` to the array type `B[R]`, where `R` is any given *rank_specifier* (but the same for both array types). This relationship is known as ***array covariance***. Array covariance, in particular, means that a value of an array type `A[R]` might actually be a reference to an instance of an array type `B[R]`, provided an implicit reference conversion exists from `B` to `A`.
128128
129-
Because of array covariance, assignments to elements of reference type arrays include a run-time check which ensures that the value being assigned to the array element is actually of a permitted type ([§12.22.2](expressions.md#12222-simple-assignment)).
129+
Because of array covariance, assignments to elements of reference type arrays include a run-time check which ensures that the value being assigned to the array element is actually of a permitted type ([§12.23.2](expressions.md#12232-simple-assignment)).
130130
131131
> *Example*:
132132
>

standard/basic-concepts.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ There are several different types of declaration spaces, as described in the fol
8989
- Each *block*, *switch_block*, *specific_catch_clause*, *iteration_statement* and *using_statement* creates a nested local variable declaration space.
9090
- Each *embedded_statement* that is not directly part of a *statement_list* creates a nested local variable declaration space.
9191
- Each *switch_section* creates a nested local variable declaration space. However, variables declared directly within the *statement_list* of the *switch_section* (but not within a nested local variable declaration space inside the *statement_list*) are added directly to the local variable declaration space of the enclosing *switch_block*, instead of that of the *switch_section*.
92-
- The syntactic translation of a *query_expression* ([§12.21.3](expressions.md#12213-query-expression-translation)) may introduce one or more lambda expressions. As anonymous functions, each of these creates a local variable declaration space as described above.
92+
- The syntactic translation of a *query_expression* ([§12.22.3](expressions.md#12223-query-expression-translation)) may introduce one or more lambda expressions. As anonymous functions, each of these creates a local variable declaration space as described above.
9393
- Each *block* or *switch_block* creates a separate declaration space for labels. Names are introduced into this declaration space through *labeled_statement*s, and the names are referenced through *goto_statement*s. The ***label declaration space*** of a block includes any nested blocks. Thus, within a nested block it is not possible to declare a label with the same name as a label in an enclosing block.
9494

9595
> *Note*: The fact that variables declared directly within a *switch_section* are added to the local variable declaration space of the *switch_block* instead of the *switch_section* can lead to surprising code. In the example below, the local variable `y` is in scope within the switch section for the default case, despite the declaration appearing in the switch section for case 0. The local variable `z` is not in scope within the switch section for the default case, as it is introduced in the local variable declaration space for the switch section in which the declaration occurs.
@@ -618,8 +618,8 @@ The ***scope*** of a name is the region of program text within which it is possi
618618
- The scope of a parameter declared in an *indexer_declaration* ([§15.9](classes.md#159-indexers)) is the *indexer_body* of that *indexer_declaration*.
619619
- The scope of a parameter declared in an *operator_declaration* ([§15.10](classes.md#1510-operators)) is the *operator_body* of that *operator_declaration*.
620620
- The scope of a parameter declared in a *constructor_declaration* ([§15.11](classes.md#1511-instance-constructors)) is the *constructor_initializer* and *block* of that *constructor_declaration*.
621-
- The scope of a parameter declared in a *lambda_expression* ([§12.20](expressions.md#1220-anonymous-function-expressions)) is the *lambda_expression_body* of that *lambda_expression*.
622-
- The scope of a parameter declared in an *anonymous_method_expression* ([§12.20](expressions.md#1220-anonymous-function-expressions)) is the *block* of that *anonymous_method_expression*.
621+
- The scope of a parameter declared in a *lambda_expression* ([§12.21](expressions.md#1221-anonymous-function-expressions)) is the *lambda_expression_body* of that *lambda_expression*.
622+
- The scope of a parameter declared in an *anonymous_method_expression* ([§12.21](expressions.md#1221-anonymous-function-expressions)) is the *block* of that *anonymous_method_expression*.
623623
- The scope of a label declared in a *labeled_statement* ([§13.5](statements.md#135-labeled-statements)) is the *block* in which the declaration occurs.
624624
- The scope of a local variable declared in a *local_variable_declaration* ([§13.6.2](statements.md#1362-local-variable-declarations)) is the *block* in which the declaration occurs.
625625
- The scope of a local variable declared in a *switch_block* of a `switch` statement ([§13.8.3](statements.md#1383-the-switch-statement)) is the *switch_block*.

0 commit comments

Comments
 (0)