[main] Update dependencies from dotnet/roslyn#100186
[main] Update dependencies from dotnet/roslyn#100186dotnet-maestro[bot] wants to merge 4 commits intomainfrom
Conversation
Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset From Version 4.10.0-2.24114.13 -> To Version 4.10.0-3.24172.13
|
@jaredpar Roslyn update introduced a build break in a very old
|
Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset From Version 4.10.0-2.24114.13 -> To Version 4.10.0-3.24174.2
class C
{
static object M1()
{
var a = "";
dynamic da = a;
return M2(da) as object;
}
static void M2(string s) { }
}This scenario behaves differently after Params Collections - Adjust binding in presence of dynamic arguments (71421). There's a new error: // (7,16): error CS0039: Cannot convert type 'void' to 'object' via a reference conversion, boxing conversion, unboxing conversion, wrapping conversion, or null type conversion
// return M2(da) as object;
Diagnostic(ErrorCode.ERR_NoExplicitBuiltinConv, "M2(da) as object").WithArguments("void", "object").WithLocation(7, 16)@AlekseyTs is that expected? |
Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset From Version 4.10.0-2.24114.13 -> To Version 4.10.0-3.24175.2
I would say yes. There is only one applicable candidate. Therefore, compile time resolution is performed. Therefore, result type of the invocation is not |
|
@AlekseyTs can the old behavior be achieved by adding a second overload here to force the more dynamic interpretation? Example: static void M2(int i) { } |
|
|
I assume this no longer compiling is also considered a bug fix? public class C {
public void M(MyClass c) {
dynamic d = 4;
c[3, d] = 42;
}
}
public class MyClass
{
public dynamic this[int x, dynamic d] => d;
}It previously compiled, but now it fails to compile with: |
|
(I pushed a commit to workaround the dynamic changes to the other PR.) |
A language design change. |
|
Closing in favor of #98559 |
This pull request updates the following dependencies
From https://github.com/dotnet/roslyn