-
Notifications
You must be signed in to change notification settings - Fork 519
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
[NativeAOT] Remove unnecessary [DynamicDependency] attributes #18808
[NativeAOT] Remove unnecessary [DynamicDependency] attributes #18808
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
if (member is null || member.DeclaringType is null) | ||
return; | ||
|
||
Mark (member.DeclaringType, null); |
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.
This changes the original code to mark Preserved code, so I'm not sure I'm comfortable with that.
Could we instead just skip adding the attribute in the AddDynamicDependencyAttribute method below instead?
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.
I see, I will change the PR to only skip the DynamicDependency attribute and keep the original marking logic.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This reverts commit 24372c6.
…to fix-apply-preserve-attribute-invalid-dynamic-dependency-attributes
|
💻 [PR Build] Tests on macOS M1 - Mac Ventura (13.0) passed 💻✅ All tests on macOS M1 - Mac Ventura (13.0) passed. Pipeline on Agent |
💻 [PR Build] Tests on macOS M1 - Mac Big Sur (11.5) passed 💻✅ All tests on macOS M1 - Mac Big Sur (11.5) passed. Pipeline on Agent |
💻 [CI Build] Windows Integration Tests passed 💻✅ All Windows Integration Tests passed. Pipeline on Agent |
📚 [PR Build] Artifacts 📚Packages generatedView packagesPipeline on Agent |
✅ API diff for current PR / commitLegacy Xamarin (No breaking changes)
NET (empty diffs)
✅ API diff vs stableLegacy Xamarin (No breaking changes).NET (No breaking changes)ℹ️ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
🚀 [CI Build] Test results 🚀Test results✅ All tests passed on VSTS: simulator tests. 🎉 All 173 tests passed 🎉 Tests counts✅ bcl: All 10 tests passed. Html Report (VSDrops) Download Pipeline on Agent |
I updated the code, please have another look.
This is a follow-up to #18666
This PR resolves the following warnings that I've seen in build logs when running MySingleView with NativeAOT:
The generated module cctor code looks like this:
The
[DynamicDependency("T", null)]
attributes are invalid. We could change them to[DynamicDependency(DynamicallyAccessedMemberTypes.None, typeof(T))]
but I think that attribute is redundant because the type itself is always already preserved through the attribute that precedes it with a selector of one of its methods/fields.