dotnet/roslyn
Vedi su GitHubIDE0200 (remove unnecessary lambda expression) can change semantics when capturing writable members
Open
#73.259 aperta il 29 apr 2024
Area-IDEBugFeature - IDE0200help wanted
Metriche repository
- Star
- (20.414 star)
- Metriche merge PR
- (Merge medio 6g 17h) (256 PR mergiate in 30 g)
Descrizione
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