Skip to content

Commit fbc5b1e

Browse files
authored
Merge branch 'dotnet:main' into feature/parallel-aot-compilation
2 parents b4e60f2 + 9500e4d commit fbc5b1e

File tree

876 files changed

+18518
-19672
lines changed

Some content is hidden

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

876 files changed

+18518
-19672
lines changed

.config/dotnet-tools.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
]
1616
},
1717
"microsoft.dotnet.xharness.cli": {
18-
"version": "8.0.0-prerelease.23363.3",
18+
"version": "8.0.0-prerelease.23370.1",
1919
"commands": [
2020
"xharness"
2121
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Semantic Compatibility
2+
3+
Documentation on compatibility guidance and the current state. The version headings act as a rolling delta between the previous version.
4+
5+
## .NET 8
6+
7+
### Interface base types
8+
9+
IUnknown-derived interfaces are supported. IDispatch-based interfaces are disallowed. The default is IUnknown-derived (in comparison to the built-in support's default of IDispatch-derived).
10+
11+
### Marshalling rules
12+
13+
The marshalling rules are identical to LibraryImportGenerator's support.
14+
15+
### Interface inheritance
16+
17+
Interface inheritance is supported for up to one COM-based interface type. Unlike the built-in COM interop system, base interface methods do **NOT** need to be redefined. The source generator discovers the members from the base interface and generates the derived interface members at appropriate offsets.
18+
19+
The generator also generates shadow members in the derived interface for each base interface member. The shadow members have default implementations that call the base interface member, but the emitted code for the "COM Object Wrapper" implementation will override the shadow members with a call to the underlying COM interface member on the current interface. This shadow member support helps reduce `QueryInterface` overhead in interface inheritance scenarios.
20+
21+
### Interop with `ComImport`
22+
23+
Source-generated COM will provide limited opt-in interop with `ComImport`-based COM interop. In particular, the following scenarios are supported:
24+
25+
- Casting a "Com Object Wrapper" created using `StrategyBasedComWrappers` to a `ComImport`-based interface type.
26+
27+
This support is achieved through some internal interfaces and reflection-emit to shim a `DynamicInterfaceCastableImplementation` of a `ComImport` interface to use the built-in runtime interop marshalling support. The core of this experience is implemented by the `System.Runtime.InteropServices.Marshalling.ComImportInteropInterfaceDetailsStrategy` class.

docs/design/libraries/LibraryImportGenerator/UserTypeMarshallingV2.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -704,9 +704,9 @@ The non-static `GetPinnableReference` method on stateful shapes is provided to e
704704

705705
The static GetPinnableReference method provides a mechanism to pin a managed value and pass down the pinned value directly to native code. This allows us to provide massive performance benefits and to match built-in interop semantics. Unlike the previous design that used the `GetPinnableReference` method on the managed type in some scenarios, this design allows the "interop" pinning rules to not match the easier-to-use `GetPinnableReference` instance method, which may have differing semantics (`Span<T>` and arrays being a prime example here). As many types aren't marshallable via only pinning, the generator does not require this method on every marshaller.
706706

707-
### `-Generated` method variants
707+
### `-Finally` method variants
708708

709-
These method variants provide a mechanism for a marshaller to state that it needs to be called during the "Generated Unmarshal" phase in the `finally` block to ensure that resources are not leaked. This feature is required only by the SafeHandle marshaller, so it is an optional extension to the model instead of being a required feature.
709+
These method variants provide a mechanism for a marshaller to state that it needs to be called during the "Guaranteed Unmarshal" phase in the `finally` block to ensure that resources are not leaked. This feature is required only by the SafeHandle marshaller, so it is an optional extension to the model instead of being a required feature.
710710

711711
## Blittability
712712

docs/project/list-of-diagnostics.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ The diagnostic id values reserved for .NET Libraries analyzer warnings are `SYSL
257257
| __`SYSLIB1220`__ | JsonSourceGenerator encountered a [JsonConverterAttribute] with an invalid type argument. |
258258
| __`SYSLIB1221`__ | JsonSourceGenerator does not support this C# language version. |
259259
| __`SYSLIB1222`__ | Constructor annotated with JsonConstructorAttribute is inaccessible. |
260-
| __`SYSLIB1223`__ | *`SYSLIB1220`-`SYSLIB229` reserved for System.Text.Json.SourceGeneration.* |
260+
| __`SYSLIB1223`__ | Attributes deriving from JsonConverterAttribute are not supported by the source generator. |
261261
| __`SYSLIB1224`__ | *`SYSLIB1220`-`SYSLIB229` reserved for System.Text.Json.SourceGeneration.* |
262262
| __`SYSLIB1225`__ | *`SYSLIB1220`-`SYSLIB229` reserved for System.Text.Json.SourceGeneration.* |
263263
| __`SYSLIB1226`__ | *`SYSLIB1220`-`SYSLIB229` reserved for System.Text.Json.SourceGeneration.* |

docs/workflow/trimming/feature-switches.md

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ configurations but their defaults might vary as any SDK can set the defaults dif
3131
| DynamicCodeSupport | System.Runtime.CompilerServices.RuntimeFeature.IsDynamicCodeSupported | Changes RuntimeFeature.IsDynamicCodeSupported to false to allow testing AOT-safe fallback code without publishing for Native AOT. |
3232
| _AggressiveAttributeTrimming | System.AggressiveAttributeTrimming | When set to true, aggressively trims attributes to allow for the most size savings possible, even if it could result in runtime behavior changes |
3333
| JsonSerializerIsReflectionEnabledByDefault | System.Text.Json.JsonSerializer.IsReflectionEnabledByDefault | When set to false, disables using reflection as the default contract resolver in System.Text.Json |
34+
| EnableGeneratedComInterfaceComImportInterop | System.Runtime.InteropServices.Marshalling.EnableGeneratedComInterfaceComImportInterop | When set to true, enables casting source-generated COM object wrappers to built-in COM-based COM interfaces. |
3435

3536
Any feature-switch which defines property can be set in csproj file or
3637
on the command line as any other MSBuild property. Those without predefined property name

eng/Version.Details.xml

+56-56
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<Dependencies>
22
<ProductDependencies>
3-
<Dependency Name="Microsoft.NETCore.Runtime.ICU.Transport" Version="8.0.0-preview.7.23360.1">
3+
<Dependency Name="Microsoft.NETCore.Runtime.ICU.Transport" Version="8.0.0-rc.1.23368.2">
44
<Uri>https://github.com/dotnet/icu</Uri>
5-
<Sha>5cbe29a3ea16c6d20d8f6c551a80e05c5b714aba</Sha>
5+
<Sha>8ba6d649968752d87aec0689083c82317dee92f8</Sha>
66
</Dependency>
77
<Dependency Name="System.Net.MsQuic.Transport" Version="8.0.0-alpha.1.23166.1">
88
<Uri>https://github.com/dotnet/msquic</Uri>
@@ -90,9 +90,9 @@
9090
<Sha>1a6a83a8f50e1119f1007b1e3c211d3289ba6901</Sha>
9191
<SourceBuild RepoName="cecil" ManagedOnly="true" />
9292
</Dependency>
93-
<Dependency Name="Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100.Transport" Version="8.0.0-preview.7.23362.1">
93+
<Dependency Name="Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100.Transport" Version="8.0.0-rc.1.23368.3">
9494
<Uri>https://github.com/dotnet/emsdk</Uri>
95-
<Sha>96c6e0d2c0bb8a90d6b49eb3ffa32593f7df7a18</Sha>
95+
<Sha>1f68fcee45ca75a2cb780edaff1e695af4d4f787</Sha>
9696
<SourceBuild RepoName="emsdk" ManagedOnly="true" />
9797
</Dependency>
9898
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="8.0.0-alpha.1.23266.3">
@@ -107,79 +107,79 @@
107107
</Dependency>
108108
</ProductDependencies>
109109
<ToolsetDependencies>
110-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.23364.2">
110+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.23369.2">
111111
<Uri>https://github.com/dotnet/arcade</Uri>
112-
<Sha>60ea5b2eca5af06fc63b250f8669d2c70179b18c</Sha>
112+
<Sha>9fba71ca242ef84c4b7696c380cc00efe734adb3</Sha>
113113
<SourceBuild RepoName="arcade" ManagedOnly="true" />
114114
</Dependency>
115-
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="1.0.0-beta.23360.1" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">
115+
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="1.0.0-beta.23368.1" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">
116116
<Uri>https://github.com/dotnet/xliff-tasks</Uri>
117-
<Sha>a171b61473272e5a6d272117963864ba958a012a</Sha>
117+
<Sha>3aa0b2b84cab7d94b9136547563d027fd78e82a6</Sha>
118118
<SourceBuild RepoName="xliff-tasks" ManagedOnly="true" />
119119
</Dependency>
120-
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="8.0.0-beta.23364.2">
120+
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="8.0.0-beta.23369.2">
121121
<Uri>https://github.com/dotnet/arcade</Uri>
122-
<Sha>60ea5b2eca5af06fc63b250f8669d2c70179b18c</Sha>
122+
<Sha>9fba71ca242ef84c4b7696c380cc00efe734adb3</Sha>
123123
</Dependency>
124-
<Dependency Name="Microsoft.DotNet.GenAPI" Version="8.0.0-beta.23364.2">
124+
<Dependency Name="Microsoft.DotNet.GenAPI" Version="8.0.0-beta.23369.2">
125125
<Uri>https://github.com/dotnet/arcade</Uri>
126-
<Sha>60ea5b2eca5af06fc63b250f8669d2c70179b18c</Sha>
126+
<Sha>9fba71ca242ef84c4b7696c380cc00efe734adb3</Sha>
127127
</Dependency>
128-
<Dependency Name="Microsoft.DotNet.GenFacades" Version="8.0.0-beta.23364.2">
128+
<Dependency Name="Microsoft.DotNet.GenFacades" Version="8.0.0-beta.23369.2">
129129
<Uri>https://github.com/dotnet/arcade</Uri>
130-
<Sha>60ea5b2eca5af06fc63b250f8669d2c70179b18c</Sha>
130+
<Sha>9fba71ca242ef84c4b7696c380cc00efe734adb3</Sha>
131131
</Dependency>
132-
<Dependency Name="Microsoft.DotNet.XUnitExtensions" Version="8.0.0-beta.23364.2">
132+
<Dependency Name="Microsoft.DotNet.XUnitExtensions" Version="8.0.0-beta.23369.2">
133133
<Uri>https://github.com/dotnet/arcade</Uri>
134-
<Sha>60ea5b2eca5af06fc63b250f8669d2c70179b18c</Sha>
134+
<Sha>9fba71ca242ef84c4b7696c380cc00efe734adb3</Sha>
135135
</Dependency>
136-
<Dependency Name="Microsoft.DotNet.XUnitConsoleRunner" Version="2.5.1-beta.23364.2">
136+
<Dependency Name="Microsoft.DotNet.XUnitConsoleRunner" Version="2.5.1-beta.23369.2">
137137
<Uri>https://github.com/dotnet/arcade</Uri>
138-
<Sha>60ea5b2eca5af06fc63b250f8669d2c70179b18c</Sha>
138+
<Sha>9fba71ca242ef84c4b7696c380cc00efe734adb3</Sha>
139139
</Dependency>
140-
<Dependency Name="Microsoft.DotNet.Build.Tasks.Archives" Version="8.0.0-beta.23364.2">
140+
<Dependency Name="Microsoft.DotNet.Build.Tasks.Archives" Version="8.0.0-beta.23369.2">
141141
<Uri>https://github.com/dotnet/arcade</Uri>
142-
<Sha>60ea5b2eca5af06fc63b250f8669d2c70179b18c</Sha>
142+
<Sha>9fba71ca242ef84c4b7696c380cc00efe734adb3</Sha>
143143
</Dependency>
144-
<Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="8.0.0-beta.23364.2">
144+
<Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="8.0.0-beta.23369.2">
145145
<Uri>https://github.com/dotnet/arcade</Uri>
146-
<Sha>60ea5b2eca5af06fc63b250f8669d2c70179b18c</Sha>
146+
<Sha>9fba71ca242ef84c4b7696c380cc00efe734adb3</Sha>
147147
</Dependency>
148-
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="8.0.0-beta.23364.2">
148+
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="8.0.0-beta.23369.2">
149149
<Uri>https://github.com/dotnet/arcade</Uri>
150-
<Sha>60ea5b2eca5af06fc63b250f8669d2c70179b18c</Sha>
150+
<Sha>9fba71ca242ef84c4b7696c380cc00efe734adb3</Sha>
151151
</Dependency>
152-
<Dependency Name="Microsoft.DotNet.Build.Tasks.Templating" Version="8.0.0-beta.23364.2">
152+
<Dependency Name="Microsoft.DotNet.Build.Tasks.Templating" Version="8.0.0-beta.23369.2">
153153
<Uri>https://github.com/dotnet/arcade</Uri>
154-
<Sha>60ea5b2eca5af06fc63b250f8669d2c70179b18c</Sha>
154+
<Sha>9fba71ca242ef84c4b7696c380cc00efe734adb3</Sha>
155155
</Dependency>
156-
<Dependency Name="Microsoft.DotNet.Build.Tasks.Workloads" Version="8.0.0-beta.23364.2">
156+
<Dependency Name="Microsoft.DotNet.Build.Tasks.Workloads" Version="8.0.0-beta.23369.2">
157157
<Uri>https://github.com/dotnet/arcade</Uri>
158-
<Sha>60ea5b2eca5af06fc63b250f8669d2c70179b18c</Sha>
158+
<Sha>9fba71ca242ef84c4b7696c380cc00efe734adb3</Sha>
159159
</Dependency>
160-
<Dependency Name="Microsoft.DotNet.CodeAnalysis" Version="8.0.0-beta.23364.2">
160+
<Dependency Name="Microsoft.DotNet.CodeAnalysis" Version="8.0.0-beta.23369.2">
161161
<Uri>https://github.com/dotnet/arcade</Uri>
162-
<Sha>60ea5b2eca5af06fc63b250f8669d2c70179b18c</Sha>
162+
<Sha>9fba71ca242ef84c4b7696c380cc00efe734adb3</Sha>
163163
</Dependency>
164-
<Dependency Name="Microsoft.DotNet.Build.Tasks.TargetFramework" Version="8.0.0-beta.23364.2">
164+
<Dependency Name="Microsoft.DotNet.Build.Tasks.TargetFramework" Version="8.0.0-beta.23369.2">
165165
<Uri>https://github.com/dotnet/arcade</Uri>
166-
<Sha>60ea5b2eca5af06fc63b250f8669d2c70179b18c</Sha>
166+
<Sha>9fba71ca242ef84c4b7696c380cc00efe734adb3</Sha>
167167
</Dependency>
168-
<Dependency Name="Microsoft.DotNet.RemoteExecutor" Version="8.0.0-beta.23364.2">
168+
<Dependency Name="Microsoft.DotNet.RemoteExecutor" Version="8.0.0-beta.23369.2">
169169
<Uri>https://github.com/dotnet/arcade</Uri>
170-
<Sha>60ea5b2eca5af06fc63b250f8669d2c70179b18c</Sha>
170+
<Sha>9fba71ca242ef84c4b7696c380cc00efe734adb3</Sha>
171171
</Dependency>
172-
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="8.0.0-beta.23364.2">
172+
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="8.0.0-beta.23369.2">
173173
<Uri>https://github.com/dotnet/arcade</Uri>
174-
<Sha>60ea5b2eca5af06fc63b250f8669d2c70179b18c</Sha>
174+
<Sha>9fba71ca242ef84c4b7696c380cc00efe734adb3</Sha>
175175
</Dependency>
176-
<Dependency Name="Microsoft.DotNet.VersionTools.Tasks" Version="8.0.0-beta.23364.2">
176+
<Dependency Name="Microsoft.DotNet.VersionTools.Tasks" Version="8.0.0-beta.23369.2">
177177
<Uri>https://github.com/dotnet/arcade</Uri>
178-
<Sha>60ea5b2eca5af06fc63b250f8669d2c70179b18c</Sha>
178+
<Sha>9fba71ca242ef84c4b7696c380cc00efe734adb3</Sha>
179179
</Dependency>
180-
<Dependency Name="Microsoft.DotNet.SharedFramework.Sdk" Version="8.0.0-beta.23364.2">
180+
<Dependency Name="Microsoft.DotNet.SharedFramework.Sdk" Version="8.0.0-beta.23369.2">
181181
<Uri>https://github.com/dotnet/arcade</Uri>
182-
<Sha>60ea5b2eca5af06fc63b250f8669d2c70179b18c</Sha>
182+
<Sha>9fba71ca242ef84c4b7696c380cc00efe734adb3</Sha>
183183
</Dependency>
184184
<Dependency Name="System.ComponentModel.TypeConverter.TestData" Version="8.0.0-beta.23360.1">
185185
<Uri>https://github.com/dotnet/runtime-assets</Uri>
@@ -314,21 +314,21 @@
314314
<Uri>https://github.com/dotnet/runtime</Uri>
315315
<Sha>bb38848e9877dc0b43860dc219ebe36fc04a6bb3</Sha>
316316
</Dependency>
317-
<Dependency Name="Microsoft.DotNet.XHarness.TestRunners.Common" Version="8.0.0-prerelease.23363.3">
317+
<Dependency Name="Microsoft.DotNet.XHarness.TestRunners.Common" Version="8.0.0-prerelease.23370.1">
318318
<Uri>https://github.com/dotnet/xharness</Uri>
319-
<Sha>b0548ed270ed98fa14ab0fcc5ef7af99fad00237</Sha>
319+
<Sha>915e9ec9a3ab13c70da8286ddb9a5c238a22d98e</Sha>
320320
</Dependency>
321-
<Dependency Name="Microsoft.DotNet.XHarness.TestRunners.Xunit" Version="8.0.0-prerelease.23363.3">
321+
<Dependency Name="Microsoft.DotNet.XHarness.TestRunners.Xunit" Version="8.0.0-prerelease.23370.1">
322322
<Uri>https://github.com/dotnet/xharness</Uri>
323-
<Sha>b0548ed270ed98fa14ab0fcc5ef7af99fad00237</Sha>
323+
<Sha>915e9ec9a3ab13c70da8286ddb9a5c238a22d98e</Sha>
324324
</Dependency>
325-
<Dependency Name="Microsoft.DotNet.XHarness.CLI" Version="8.0.0-prerelease.23363.3">
325+
<Dependency Name="Microsoft.DotNet.XHarness.CLI" Version="8.0.0-prerelease.23370.1">
326326
<Uri>https://github.com/dotnet/xharness</Uri>
327-
<Sha>b0548ed270ed98fa14ab0fcc5ef7af99fad00237</Sha>
327+
<Sha>915e9ec9a3ab13c70da8286ddb9a5c238a22d98e</Sha>
328328
</Dependency>
329-
<Dependency Name="Microsoft.DotNet.PackageTesting" Version="8.0.0-beta.23364.2">
329+
<Dependency Name="Microsoft.DotNet.PackageTesting" Version="8.0.0-beta.23369.2">
330330
<Uri>https://github.com/dotnet/arcade</Uri>
331-
<Sha>60ea5b2eca5af06fc63b250f8669d2c70179b18c</Sha>
331+
<Sha>9fba71ca242ef84c4b7696c380cc00efe734adb3</Sha>
332332
</Dependency>
333333
<Dependency Name="optimization.windows_nt-x64.MIBC.Runtime" Version="1.0.0-prerelease.23362.5">
334334
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
@@ -346,26 +346,26 @@
346346
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
347347
<Sha>068998a5d91f55a619d1d072ab3094dacd5d6a4f</Sha>
348348
</Dependency>
349-
<Dependency Name="Microsoft.DotNet.HotReload.Utils.Generator.BuildTool" Version="8.0.0-alpha.0.23360.1">
349+
<Dependency Name="Microsoft.DotNet.HotReload.Utils.Generator.BuildTool" Version="8.0.0-alpha.0.23367.4">
350350
<Uri>https://github.com/dotnet/hotreload-utils</Uri>
351-
<Sha>8362ec8461084d6bcbec2e4371741d0caf2e2e0e</Sha>
351+
<Sha>d18e043fcccf4a0f1d61c704e2ab122f363aa82b</Sha>
352352
</Dependency>
353353
<Dependency Name="System.Runtime.Numerics.TestData" Version="8.0.0-beta.23360.1">
354354
<Uri>https://github.com/dotnet/runtime-assets</Uri>
355355
<Sha>7333879999019e28e47f58879180cba54f5e1843</Sha>
356356
</Dependency>
357-
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="4.7.0-3.23361.9">
357+
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="4.7.0-3.23366.1">
358358
<Uri>https://github.com/dotnet/roslyn</Uri>
359-
<Sha>91c9c05370d84a902010c9e1f80aebcc3a467792</Sha>
359+
<Sha>dad7898acd6372d4380612b9f225db0c2cbfa1e9</Sha>
360360
</Dependency>
361-
<Dependency Name="Microsoft.CodeAnalysis" Version="4.7.0-3.23361.9">
361+
<Dependency Name="Microsoft.CodeAnalysis" Version="4.7.0-3.23366.1">
362362
<Uri>https://github.com/dotnet/roslyn</Uri>
363-
<Sha>91c9c05370d84a902010c9e1f80aebcc3a467792</Sha>
363+
<Sha>dad7898acd6372d4380612b9f225db0c2cbfa1e9</Sha>
364364
<SourceBuild RepoName="roslyn" ManagedOnly="true" />
365365
</Dependency>
366-
<Dependency Name="Microsoft.CodeAnalysis.CSharp" Version="4.7.0-3.23361.9">
366+
<Dependency Name="Microsoft.CodeAnalysis.CSharp" Version="4.7.0-3.23366.1">
367367
<Uri>https://github.com/dotnet/roslyn</Uri>
368-
<Sha>91c9c05370d84a902010c9e1f80aebcc3a467792</Sha>
368+
<Sha>dad7898acd6372d4380612b9f225db0c2cbfa1e9</Sha>
369369
</Dependency>
370370
<Dependency Name="Microsoft.CodeAnalysis.Analyzers" Version="3.11.0-beta1.23364.2">
371371
<Uri>https://github.com/dotnet/roslyn-analyzers</Uri>

0 commit comments

Comments
 (0)