-
-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Support params keyword on non-array collections #3444
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Apparently, the CI didn't like that I bumped the language version to 13. I'm not sure how to fix that. |
d62ede5
to
a807e1a
Compare
Don't worry about the build fail... We will take care of the infrastructure for the new language version |
For reference - this happens regularly #2873 |
54e2f51
to
d6a251b
Compare
I only had a cursory look comparing #2873 to your changes - global.json and ICSharpCode.Decompiler.TestRunner.csproj actually should be set to net90. Also, Helpers/Tester.cs then needs different output paths. Maybe if you want to implement that transition for tests to net90 it would be best to compare side-by-side with that old PR. |
d6a251b
to
6e5c2f9
Compare
I just saw the break for dotnet format; that didn't bomb back then with the move to net70. Maybe this applies then here https://github.com/icsharpcode/ILSpy/pull/3238/files https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9/nuget/v3/index.json exists with a version of 9.0.520307 |
Bumping to the .NET 9 SDK also caused some issues with tests now failing. It changed how some code is compiled (eg overload resolution priority). I'm not sure how to fix that, other than to implement support for the features it's using. |
@siegfriedpammer oh, that is even more involved then. We need to have a look. |
Yeah, it's similar to when we upgrade to a newer version of Roslyn. We need to update the decompiler engine in lots of different places. I think it would be a good idea to do the dotnet upgrade in a separate PR before anything else. Unfortunately, I am blocked by family obligations due to the holidays, so I won't have time to look at this soon. |
Update @ds5678 - @siegfriedpammer and I had a longer deliberation on how to tackle the net90 and upgrade. We came to the conclusion it is better to right away go net10. We'll keep you posted once that has happened (shouldn't be too far out) |
Thanks for the status update! |
@ds5678 Just to let you know, the decompiler is missing some smaller transforms related to InlineArray and Span, which are used extensively in net10, blocking the net10 upgrade currently. This will take some more time to resolve. I will create a branch/PR in the next few days to make progress more visible. Also, if you want to help, we can discuss further steps then. |
So, I have spent some time looking into the whole thing and here's what I found: The .NET 10 upgrade fails due to missing support for
(*) some of the special cases mentioned in the first point can only be generally represented using Collection Expressions... |
Resolves #3431
Problem
This adds support for showing the
params
keyword on non-array collection parameters. It should not affect call sites.Solution
TypeSystemOptions
, but that seemed consistent.