dotnet/roslyn
Voir sur GitHubIDE0200 (remove unnecessary lambda expression) can change semantics when capturing writable members
Open
#73 259 ouverte le 29 avr. 2024
Area-IDEBugFeature - IDE0200help wanted
Métriques du dépôt
- Stars
- (20 414 stars)
- Métriques de merge PR
- (Merge moyen 6j 17h) (256 PRs mergées en 30 j)
Description
Version Used:
Steps to Reproduce:
public class Test {
private List<int> _list = [1];
public bool N() {
var func = M();
_list = [2];
return func(2);
}
private Func<int, bool> M() {
return x => _list.Contains(x); // IDE0200
}
}
Diagnostic Id:
IDE0200
Expected Behavior: The code fix should not be offered. It changes the semantics.
Actual Behavior:
After applying the code fix, N returns false instead of true
I saw that this was fixed when capturing locals in #69101