Skip to content

Commit 8b8f4fa

Browse files
committed
Merge remote-tracking branch 'upstream/main' into lsp_editor_features
2 parents 647e224 + e01c311 commit 8b8f4fa

File tree

748 files changed

+24698
-7059
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

748 files changed

+24698
-7059
lines changed

.vscode/tasks.json

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@
22
// See https://go.microsoft.com/fwlink/?LinkId=733558
33
// for the documentation about the tasks.json format
44
"version": "2.0.0",
5+
"windows": {
6+
"options": {
7+
"shell": {
8+
"executable": "cmd.exe",
9+
"args": [
10+
"/d", "/c"
11+
]
12+
}
13+
}
14+
},
515
"tasks": [
616
{
717
"label": "build",
@@ -10,7 +20,7 @@
1020
"args": [
1121
],
1222
"windows": {
13-
"command": "./build.cmd",
23+
"command": "${workspaceFolder}/build.cmd",
1424
},
1525
"problemMatcher": "$msCompile",
1626
"group": "build"
@@ -23,7 +33,7 @@
2333
"--runAnalyzers"
2434
],
2535
"windows": {
26-
"command": "./build.cmd",
36+
"command": "${workspaceFolder}/build.cmd",
2737
"args": [
2838
"-runAnalyzers"
2939
],
@@ -33,7 +43,7 @@
3343
},
3444
{
3545
"label": "build csc",
36-
"command": "./.dotnet/dotnet",
46+
"command": "${workspaceFolder}/.dotnet/dotnet",
3747
"type": "shell",
3848
"args": [
3949
"msbuild",
@@ -47,10 +57,10 @@
4757
{
4858
"label": "build current project",
4959
"type": "shell",
50-
"command": "./.dotnet/dotnet",
60+
"command": "${workspaceFolder}/.dotnet/dotnet",
5161
"args": [
5262
"pwsh",
53-
"${workspaceRoot}/scripts/vscode-build.ps1",
63+
"${workspaceFolder}/scripts/vscode-build.ps1",
5464
"-filePath",
5565
"${file}",
5666
"-msbuildEngine",
@@ -59,7 +69,7 @@
5969
"windows": {
6070
"command": "powershell",
6171
"args": [
62-
"${workspaceRoot}/scripts/vscode-build.ps1",
72+
"${workspaceFolder}/scripts/vscode-build.ps1",
6373
"-filePath",
6474
"${file}",
6575
"-msbuildEngine",
@@ -76,7 +86,7 @@
7686
"windows": {
7787
"command": "powershell",
7888
"args": [
79-
"${workspaceRoot}/scripts/vscode-build.ps1",
89+
"${workspaceFolder}/scripts/vscode-build.ps1",
8090
"-filePath",
8191
"${file}",
8292
"-msbuildEngine",
@@ -88,11 +98,11 @@
8898
},
8999
{
90100
"label": "generate compiler code",
91-
"command": "./.dotnet/dotnet",
101+
"command": "${workspaceFolder}/.dotnet/dotnet",
92102
"type": "shell",
93103
"args": [
94104
"pwsh",
95-
"${workspaceRoot}/eng/generate-compiler-code.ps1"
105+
"${workspaceFolder}/eng/generate-compiler-code.ps1"
96106
],
97107
"problemMatcher": "$msCompile",
98108
"group": "build"
@@ -102,7 +112,7 @@
102112
"command": "./build.sh",
103113
"type": "shell",
104114
"windows": {
105-
"command": "./build.cmd"
115+
"command": "${workspaceFolder}/build.cmd"
106116
},
107117
"options": {
108118
"env": { "UpdateXlfOnBuild": "true" }
@@ -112,11 +122,11 @@
112122
},
113123
{
114124
"label": "run tests in current file (netcoreapp3.1)",
115-
"command": "./.dotnet/dotnet",
125+
"command": "${workspaceFolder}/.dotnet/dotnet",
116126
"type": "shell",
117127
"args": [
118128
"pwsh",
119-
"${workspaceRoot}/scripts/vscode-run-tests.ps1",
129+
"${workspaceFolder}/scripts/vscode-run-tests.ps1",
120130
"-filePath",
121131
"${file}",
122132
"-msbuildEngine",
@@ -131,11 +141,11 @@
131141
},
132142
{
133143
"label": "run tests in current project (netcoreapp3.1)",
134-
"command": "./.dotnet/dotnet",
144+
"command": "${workspaceFolder}/.dotnet/dotnet",
135145
"type": "shell",
136146
"args": [
137147
"pwsh",
138-
"${workspaceRoot}/scripts/vscode-run-tests.ps1",
148+
"${workspaceFolder}/scripts/vscode-run-tests.ps1",
139149
"-filePath",
140150
"${file}",
141151
"-msbuildEngine",
@@ -148,11 +158,11 @@
148158
},
149159
{
150160
"label": "run tests in current file (all frameworks)",
151-
"command": "./.dotnet/dotnet",
161+
"command": "${workspaceFolder}/.dotnet/dotnet",
152162
"type": "shell",
153163
"args": [
154164
"pwsh",
155-
"${workspaceRoot}/scripts/vscode-run-tests.ps1",
165+
"${workspaceFolder}/scripts/vscode-run-tests.ps1",
156166
"-filePath",
157167
"${file}",
158168
"-filter",
@@ -163,11 +173,11 @@
163173
},
164174
{
165175
"label": "run tests in current project (all frameworks)",
166-
"command": "./.dotnet/dotnet",
176+
"command": "${workspaceFolder}/.dotnet/dotnet",
167177
"type": "shell",
168178
"args": [
169179
"pwsh",
170-
"${workspaceRoot}/scripts/vscode-run-tests.ps1",
180+
"${workspaceFolder}/scripts/vscode-run-tests.ps1",
171181
"-filePath",
172182
"${file}"
173183
],

azure-pipelines-integration.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ pr:
1717
jobs:
1818
- job: VS_Integration
1919
pool:
20-
name: NetCorePublic-Pool
20+
name: $(poolName)
2121
queue: $(queueName)
2222
strategy:
2323
maxParallel: 4

azure-pipelines.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ jobs:
117117
jobName: Build_Unix_Debug
118118
testArtifactName: Transport_Artifacts_Unix_Debug
119119
configuration: Debug
120-
vmImageName: 'ubuntu-18.04'
120+
queueName: BuildPool.Ubuntu.1804.Amd64.Open
121121

122122
- template: eng/pipelines/test-unix-job.yml
123123
parameters:

docs/Language Feature Status.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ efforts behind them.
1313
| [nameof(parameter)](https://github.com/dotnet/csharplang/issues/373) | main | [In Progress](https://github.com/dotnet/roslyn/issues/40524) | [jcouv](https://github.com/jcouv) | TBD | [jcouv](https://github.com/jcouv) |
1414
| [Relax ordering of `ref` and `partial` modifiers](https://github.com/dotnet/csharplang/issues/946) | [ref-partial](https://github.com/dotnet/roslyn/tree/features/ref-partial) | In Progress | [alrz](https://github.com/alrz) | [gafter](https://github.com/gafter) | [jcouv](https://github.com/jcouv) |
1515
| [Parameter null-checking](https://github.com/dotnet/csharplang/issues/2145) | [param-nullchecking](https://github.com/dotnet/roslyn/tree/features/param-nullchecking) | [In Progress](https://github.com/dotnet/roslyn/issues/36024) | [fayrose](https://github.com/fayrose) | [agocke](https://github.com/agocke) | [jaredpar](https://github.com/jaredpar) |
16-
| [Generic attributes](https://github.com/dotnet/csharplang/issues/124) | [generic-attributes](https://github.com/dotnet/roslyn/tree/features/generic-attributes) | [In Progress](https://github.com/dotnet/roslyn/issues/36285) | [AviAvni](https://github.com/AviAvni) | [agocke](https://github.com/agocke) | [mattwar](https://github.com/mattwar) |
16+
| [Generic attributes](https://github.com/dotnet/csharplang/issues/124) | [generic-attributes](https://github.com/dotnet/roslyn/tree/features/generic-attributes) | [Merged into 17.0p4 (preview langver)](https://github.com/dotnet/roslyn/issues/36285) | [AviAvni](https://github.com/AviAvni) | [RikkiGibson](https://github.com/RikkiGibson), [jcouv](https://github.com/jcouv) | [mattwar](https://github.com/mattwar) |
1717
| [Default in deconstruction](https://github.com/dotnet/roslyn/pull/25562) | [decon-default](https://github.com/dotnet/roslyn/tree/features/decon-default) | [Implemented](https://github.com/dotnet/roslyn/issues/25559) | [jcouv](https://github.com/jcouv) | [gafter](https://github.com/gafter) | [jcouv](https://github.com/jcouv) |
1818
| [List patterns](https://github.com/dotnet/csharplang/issues/3435) | [list-patterns](https://github.com/dotnet/roslyn/tree/features/list-patterns) | [In Progress](https://github.com/dotnet/roslyn/issues/51289) | [alrz](https://github.com/alrz) | [jcouv](https://github.com/jcouv), [333fred](https://github.com/333fred) | [333fred](https://github.com/333fred) |
1919
| [Raw string literals](https://github.com/dotnet/csharplang/issues/4304) | [RawStringLiterals](https://github.com/dotnet/roslyn/tree/features/features/RawStringLiterals) | [In Progress](https://github.com/dotnet/roslyn/issues/55306) | [CyrusNajmabadi](https://github.com/CyrusNajmabadi) | [jcouv](https://github.com/jcouv) | [CyrusNajmabadi](https://github.com/CyrusNajmabadi) |
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
## This document lists known breaking changes in Roslyn in C# 10.0 which will be introduced with .NET 6.
2+
3+
1. Beginning with C# 10.0, null suppression operator is no longer allowed in patterns.
4+
```csharp
5+
void M(object o)
6+
{
7+
if (o is null!) {} // error
8+
}
9+
```

docs/compilers/CSharp/Compiler Breaking Changes - post DotNet 5.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@ record Derived(int I) // The positional member 'Base.I' found corresponding to t
4848
}
4949
```
5050

51-
4. In C# 10, method groups are implicitly convertible to `System.Delegate`, and lambda expressions are implicitly convertible to `System.Delegate` and `System.Linq.Expressions.Expression`.
51+
4. In C# 10, lambda expressions and method groups are implicitly convertible to `System.MulticastDelegate`, or any base classes or interfaces of `System.MulticastDelegate` including `object`, and lambda expressions are implicitly convertible to `System.Linq.Expressions.Expression`.
5252

53-
This is a breaking change to overload resolution if there exists an overload with a `System.Delegate` or `System.Linq.Expressions.Expression` parameter that is applicable and the closest applicable overload with a strongly-typed delegate parameter is in an enclosing namespace.
53+
This is a breaking change to overload resolution if there exists an applicable overload with a parameter of type `System.MulticastDelegate`, or a parameter of a type in the base types or interfaces of `System.MulticastDelegate`, or a parameter of type `System.Linq.Expressions.Expression`, and the closest applicable extension method overload with a strongly-typed delegate parameter is in an enclosing namespace.
5454

5555
```C#
5656
class C
@@ -85,3 +85,16 @@ partial class Program
8585
}
8686
```
8787

88+
6. https://github.com/dotnet/roslyn/issues/53021 C# will now report an error for a misplaced ```::``` token in explicit interface implementation. In this example code:
89+
90+
``` C#
91+
void N::I::M()
92+
{
93+
}
94+
```
95+
96+
Previous versions of Roslyn wouldn't report any errors.
97+
98+
We now report an error for a ```::``` token before M.
99+
100+

docs/contributing/Building, Debugging, and Testing on Windows.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ The minimal required version of .NET Framework is 4.7.2.
2020
- Ensure Visual Studio is on Version "17.0" or greater
2121
- Ensure "Use previews of the .NET Core SDK" is checked in Tools -> Options -> Environment -> Preview Features
2222
- Restart Visual Studio
23-
1. [.NET 6.0 Preview 6 SDK](https://dotnet.microsoft.com/download/dotnet-core/6.0) [Windows x64 installer](https://dotnet.microsoft.com/download/dotnet/thank-you/sdk-6.0.100-preview.6-windows-x64-installer)
23+
1. [.NET 6.0 Preview 7 SDK](https://dotnet.microsoft.com/download/dotnet-core/6.0) [Windows x64 installer](https://dotnet.microsoft.com/download/dotnet/thank-you/sdk-6.0.100-preview.7-windows-x64-installer)
2424
1. [PowerShell 5.0 or newer](https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-windows-powershell). If you are on Windows 10, you are fine; you'll only need to upgrade if you're on earlier versions of Windows. The download link is under the ["Upgrading existing Windows PowerShell"](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-windows-powershell?view=powershell-6#upgrading-existing-windows-powershell) heading.
2525
1. Run Restore.cmd
2626
1. Open Roslyn.sln

docs/contributing/Compiler Test Plan.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,7 @@ __makeref( x )
319319
- Tuple
320320
- Default literal
321321
- Implicit object creation (target-typed new)
322+
- Function type (in type inference comparing function types of lambdas or method groups)
322323

323324
## Types
324325

docs/features/ExpressionVariables.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ containing expression variables (out variable declarations and declaration patte
66
initializers, property initializers, ctor-initializers, and query clauses.
77

88
See https://github.com/dotnet/csharplang/issues/32 and
9-
https://github.com/dotnet/csharplang/blob/main/proposals/expression-variables-in-initializers.md
9+
https://github.com/dotnet/csharplang/blob/main/proposals/csharp-7.3/expression-variables-in-initializers.md
1010
for more information.
1111

1212
Current state of the feature:
1313

1414
[X] Permit in field initializers
1515
[X] Permit in property initializers
1616
[ ] Permit in ctor-initializers
17-
[X] Permit in query clauses
17+
[X] Permit in query clauses

docs/features/local-functions.test.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Code:
4747
- [ ] Target typing (var, lambdas, integrals)
4848
- [ ] Type inference
4949
- [ ] Conversions
50-
- [ ] Implicit (identity, implicit numeric, implicit enumeration, implicit nullable, null litaral, implicit reference, boxing, implicit dynamic, implicit constant, user-defined implicit conversion, anonymous function, method group)
50+
- [ ] Implicit (identity, implicit numeric, implicit enumeration, implicit nullable, null literal, implicit reference, boxing, implicit dynamic, implicit constant, user-defined implicit conversion, anonymous function, method group)
5151
- [ ] Explicit (numeric, enumeration, nullable, reference, unboxing, dynamic, user-defined)
5252
- [ ] Anonymous functions
5353
- [ ] nullable (wrapping, unwrapping)

0 commit comments

Comments
 (0)