From 0874de5b5bddddacdfc33d26e51db6ea5acaf4f5 Mon Sep 17 00:00:00 2001 From: Neal Gafter Date: Wed, 10 Apr 2019 10:32:34 -0700 Subject: [PATCH] Document compat break between 16.0 and 16.1 from #34695 Fixes #34882 --- .../CSharp/Compiler Breaking Changes - post VS2019.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 docs/compilers/CSharp/Compiler Breaking Changes - post VS2019.md diff --git a/docs/compilers/CSharp/Compiler Breaking Changes - post VS2019.md b/docs/compilers/CSharp/Compiler Breaking Changes - post VS2019.md new file mode 100644 index 0000000000000..16892dd978860 --- /dev/null +++ b/docs/compilers/CSharp/Compiler Breaking Changes - post VS2019.md @@ -0,0 +1,10 @@ +## This document lists known breaking changes in Roslyn in *Visual Studio 2019 Update 1* and beyond compared to *Visual Studio 2019*. + +*Breaks are formatted with a monotonically increasing numbered list to allow them to referenced via shorthand (i.e., "known break #1"). +Each entry should include a short description of the break, followed by either a link to the issue describing the full details of the break or the full details of the break inline.* + +1. https://github.com/dotnet/roslyn/issues/34882 A new feature in C# `8.0` will permit using a constant pattern with an open type. For example, the following code will be permitted: + ``` c# + bool M(T t) => t is null; + ``` +However, in *Visual Studio 2019* we improperly permitted this to compile in language versions `7.0`, `7.1`, `7.2`, and `7.3`. In *Visual Studio 2019 Update 1* we will make it an error (as it was in *Visual Studio 2017*), and suggest updating to `preview` or `8.0`.