Skip to content

Commit d548025

Browse files
committed
respond to feedback
1 parent 960d05d commit d548025

File tree

3 files changed

+26
-20
lines changed

3 files changed

+26
-20
lines changed

docs/csharp/whats-new/csharp-6.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ productivity for developers. Features in this release include:
3434
- Collection initializers can rely on accessible extension methods, in addition to member methods.
3535
* [Improved overload resolution](#improved-overload-resolution):
3636
- Some constructs that previously generated ambiguous method calls now resolve correctly.
37+
* [`deterministic` compiler option](#deterministic-compiler-output):
38+
- The deterministic compiler option ensures that subsequent compilations of the same source generate the same binary output.
3739

3840
The overall effect of these features is that you write more concise code
3941
that is also more readable. The syntax contains less ceremony for many
@@ -573,3 +575,12 @@ a lambda expression as an argument:
573575

574576
The C# 6 compiler correctly determines that `Task.Run(Func<Task>())` is
575577
a better choice.
578+
579+
### Deterministic compiler output
580+
581+
The `-deterministic` option instructs the compiler to produce a byte-for-byte identical output assembly for successive compilations of the same source files.
582+
583+
By default, every compilation produces unique output on each compilation. The compiler adds a timestamp, and a GUID generated from random numbers. You use this option if you want to compare the byte-for-byte output to ensure consistency across builds.
584+
585+
For more information, see the [-deterministic compiler option](../language-reference/compiler-options/deterministic-compiler-option.md) article.
586+

docs/csharp/whats-new/csharp-7-3.md

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ ms.date: 05/16/2018
55
---
66
# What's new in C# 7.3
77

8-
There are two main themes to the C# 7.3 release. One theme provides features that enable safe code to be as performant as unsafe code. The second theme provides incremental improvements to existing features. In addition, new compilers were added in this release.
8+
There are two main themes to the C# 7.3 release. One theme provides features that enable safe code to be as performant as unsafe code. The second theme provides incremental improvements to existing features. In addition, new compiler options were added in this release.
99

1010
The following new features support the theme of better performance for safe code:
1111

@@ -19,15 +19,14 @@ The following enhancements were made to existing features:
1919

2020
- You can test `==` and `!=` with tuple types.
2121
- You can use expression variables in more locations.
22-
- You may attach attributes to the backing field of auto implemented properties.
22+
- You may attach attributes to the backing field of auto-implemented properties.
2323
- Method resolution when arguments differ by `in` has been improved.
24-
- Overload resolution new has fewer ambiguous cases.
24+
- Overload resolution now has fewer ambiguous cases.
2525

2626
The new compiler options are:
2727

28-
- `deterministic` to ensure that subsequent compilations of the same source generate the same binary output.
29-
- `publicsign` to enable OSS signing of assemblies.
30-
- `pathmap` to provide a mapping for source directories.
28+
- `-publicsign` to enable OSS signing of assemblies.
29+
- `-pathmap` to provide a mapping for source directories.
3130

3231
The remainder of this article provides details and links to learn more about each of the improvements.
3332

@@ -82,6 +81,7 @@ Now, that same syntax can be applied to arrays that are declared with `stackallo
8281
```csharp
8382
int* pArr = stackalloc int[3] {1, 2, 3};
8483
int* pArr2 = stackalloc int[] { 1, 2, 3};
84+
Span<int> arr = stackalloc [] {1, 2, 3};
8585
```
8686

8787
You can learn more in the article on the [`stackalloc` statement](../language-reference/keywords/stackalloc.md).
@@ -106,7 +106,7 @@ The second theme provides improvements to features in the language. These featur
106106

107107
### Tuples support `==` and `!=`
108108

109-
The C# tuple types now support `==` and `!=`. You can learn more about the rules in the article on [tuples](../tuples.md).
109+
The C# tuple types now support `==` and `!=`. You can learn more about the rules in the article on [tuples](../tuples.md#equality-and-tuples).
110110

111111
### Attach attributes to the backing fields for auto-implemented properties
112112

@@ -128,7 +128,10 @@ static void M(S arg);
128128
static void M(in S arg);
129129
```
130130

131-
Now, the by value (first in the preceding example) overload is better than the by readonly reference version. To specify that by readonly reference version, you must include the `in` modifier when calling the method.
131+
Now, the by value (first in the preceding example) overload is better than the by readonly reference version. To specify the by readonly reference version is called, you must include the `in` modifier when calling the method.
132+
133+
> [!NOTE]
134+
> This was implemented as a bug fix. This no longer is ambiguous even with the language version set to "7.2".
132135
133136
For more information, see the article on the [`in` parameter modifier](../language-reference/keywords/in-parameter-modifier.md).
134137

@@ -168,22 +171,14 @@ You'll only notice this change because you'll find fewer compiler errors for amb
168171

169172
New compiler options support new build and DevOps scenarios for C# programs
170173

171-
### Deterministic compiler output
172-
173-
The `-deterministic` option instructs the compiler to produce a byte-for-byte identical output assembly for successive compilations of the same source files.
174-
175-
By default, every compilation unique output on each compilation. The compiler adds a timestamp, and a GUID generated from random numbers. You use this option if you want to compare the byte-for-byte output to ensure consistency across builds.
176-
177-
For more information, see the [deterministic compiler option](../language-reference/compiler-options/deterministic-compiler-option.md) article.
178-
179174
### Public or OSS signing
180175

181176
The `-publicsign` compiler option instructs the compiler to sign the assembly using a public key. The assembly is marked as signed, but the signature is taken from the public key. This option enables you to build signed assemblies from open-source projects using a public key.
182177

183-
For more information, see the [publicsign compiler option](../language-reference/compiler-options/publicsign-compiler-option.md) article.
178+
For more information, see the [-publicsign compiler option](../language-reference/compiler-options/publicsign-compiler-option.md) article.
184179

185180
### pathmap
186181

187182
The `-pathmap` compiler option instructs the compiler to replace source paths from the build environment with mapped source paths. The pathmap option controls the source path written by the compiler to PDB files or for the <xref:System.Runtime.CompilerServices.CallerFilePathAttribute>.
188183

189-
For more information, see the [pathmap compiler option](../language-reference/compiler-options/pathmap-compile-option.md) article.
184+
For more information, see the [-pathmap compiler option](../language-reference/compiler-options/pathmap-compile-option.md) article.

docs/csharp/whats-new/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ major features added in each release.
1717
* [C# 7.3](csharp-7-3.md):
1818
- This page describes the latest features in the C# language. C# 7.3 is currently available in [Visual Studio 2017 version 15.7](https://www.visualstudio.com/vs/whatsnew/), and in the [.NET Core 2.1 SDK Preview](../../core/whats-new/index.md).
1919
* [C# 7.2](csharp-7-2.md):
20-
- This page describes the latest features in the C# language. C# 7.2 is currently available in [Visual Studio 2017 version 15.5](https://www.visualstudio.com/vs/whatsnew/), and in the [.NET Core 2.0 SDK](../../core/whats-new/index.md).
20+
- This page describes the features added in the C# language. C# 7.2 is currently available in [Visual Studio 2017 version 15.5](https://www.visualstudio.com/vs/whatsnew/), and in the [.NET Core 2.0 SDK](../../core/whats-new/index.md).
2121
* [C# 7.1](csharp-7-1.md):
22-
- This page describes the features in C# 7.1. These features were added in [Visual Studio 2017 version 15.3](https://www.visualstudio.com/vs/whatsnew/), and in the [.NET Core 2.0 SDK](../../core/whats-new/index.md).
22+
- This page describes the features added in C# 7.1. These features were added in [Visual Studio 2017 version 15.3](https://www.visualstudio.com/vs/whatsnew/), and in the [.NET Core 2.0 SDK](../../core/whats-new/index.md).
2323
* [C# 7.0](csharp-7.md):
2424
- This page describes the features added in C# 7.0. These features were added in [Visual Studio 2017](https://www.visualstudio.com/vs/whatsnew/) and [.NET Core 1.0](../../core/whats-new/index.md) and later
2525
* [C# 6](csharp-6.md):

0 commit comments

Comments
 (0)