[release/8.0.1xx] Handle reference to non-source symbols in UseConcreteTypeAnalyzer #6960
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport of #6959 to release/8.0.1xx
Issue: IndexOutOfRangeException in UseConcreteTypeAnalyzer (CA1859)
/cc @mavasani
Customer Impact
CA1859:
Use concrete types when possible for improved performance
analyzer throwsIndexOutOfRangeException
at runtime when the analyzing symbol is not defined within the source.This issue is reported by internal and external users, more users could be affected after the .NET 8 release. The analyzer newly added in .NET 8, enabled by default at Info level.
Testing
A unit test that reproes the bug added.
Risk
Very low - the fix would not introduce a new warning; the fix is straightforward and unit tested