-
Notifications
You must be signed in to change notification settings - Fork 463
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
Implement RS1038 (Strict compiler reference analysis) #6705
Conversation
1b4d220
to
1a0c5ff
Compare
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #6705 +/- ##
==========================================
- Coverage 96.39% 96.37% -0.02%
==========================================
Files 1379 1390 +11
Lines 322290 324027 +1737
Branches 10461 10609 +148
==========================================
+ Hits 310659 312283 +1624
- Misses 9137 9205 +68
- Partials 2494 2539 +45 |
f448526
to
00c3590
Compare
00c3590
to
21a5c52
Compare
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.
LGTM, thanks for the detailed documentation!
1e7e8d9
to
75097ba
Compare
roslyn_correctness.assembly_reference_validation = relaxed
75097ba
to
cc316f3
Compare
Implement rule for strict reference analysis
Update documentation for compiler references
Add "strict" option, where RS1038 is only enabled in strict mode, and RS1022 is only enabled in relaxed mode
This was initially implemented by setting RS1022 to disabled-by-default, and RS1038 to enabled-by-default. Manually enabling RS1022 will restore its behavior. However, users are unlikely to know to enable RS1022 manually when RS1038 is disabled, so these should be controlled by a dedicated option.
Relaxed validation (RS1022) may be manually enabled by adding the following to .globalconfig:
roslyn_correctness.assembly_reference_validation = relaxed
Fixes #6676