-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Obsolete SuppressIldasmAttribute and remove ildasm.exe support for it #50951
Obsolete SuppressIldasmAttribute and remove ildasm.exe support for it #50951
Conversation
Note regarding the This serves as a reminder for when your PR is modifying a ref *.cs file and adding/modifying public APIs, to please make sure the API implementation in the src *.cs file is documented with triple slash comments, so the PR reviewers can sign off that change. |
/azp run runtime-coreclr ilasm |
Azure Pipelines successfully started running 1 pipeline(s). |
cc @jkotas in case you have opinions here |
There was some email discussion about what hardcoded message we should put in the attribute. IMO we should keep the hardcoded message short and sweet, and if we want to give further information on "here's why you can't rely on it for IP protection," that belongs in the aka.ms link that accompanies these attributes. |
docs/project/list-of-obsoletions.md
Outdated
| __`SYSLIB0016`__ | SuppressIldasmAttribute has no effect in .NET 6.0+. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While you're here, should we change the message for SYSLIB0015 to be consistent, e.g. drop "applications"?
I see some ilasm testing failures:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ildasm changes LGTM
@BruceForstall Do you anticipate any problem with me deleting the existing resource string and reassigning the resource ids to be gapless? I didn't see any functional regressions but wanted to pick your brain on this. If this is risky, I can restore the original resource ids and leave the gap.
I can't think of any reason why we would need to worry about this (but I don't have a lot of experience in this code)
Hmm, I must admit this is the first time I'm seeing an ilasm test failure. This was certainly not the purpose of the new test, I suppose I should just mark it as ilasm-incompatible for now until the problem is understood; can someone please give me some pointers on how to run ilasm testing locally so that I can investigate what's wrong with the test? I guess that most likely the problem is that this is a "forced Crossgen2" test and if the test does something like ildasm followed by ilasm, applying that to a R2R executable certainly won't produce an identical result. |
To run the round-trip testing, set |
Thanks Bruce for clarifying! It can easily be the case that it's just about wrong ordering of the steps in the |
SYSLIB0016 has been claimed by another obsoletion. I'm going to update this to be SYSLIB0024. |
I'll resolve the conflicts and get this in shortly. |
Changes since Jeff's latest iteration:
Otherwise, no functional changes from previous iteration. Since PR is already signed off I'll merge once CI goes green. |
Test failure is known issue #48851. |
Breaking change documentation will be handled by dotnet/docs#23856. /cc @gewarren |
Resolves #13341.
Resolves #40622.
The obsoletion hasn't been officially approved yet, but based on email conversations we expect approval is imminent (maybe with some wording changes). I'm opening this PR optimistically to get a head start on CI runs and make sure there's no functional regression.
Temporarily marked as no merge until API signoff is finalized.
@BruceForstall Do you anticipate any problem with me deleting the existing resource string and reassigning the resource ids to be gapless? I didn't see any functional regressions but wanted to pick your brain on this. If this is risky, I can restore the original resource ids and leave the gap.