github / github/codeql

LGTM.com - false positive - cs/useless-assignment-to-local doesn't always work for ref struct like Span<T>

Offen
#2,754 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
C# false-positive
Vorherrschende Sprache
CodeQL
Sterne
10.1k
Forks
2.1k
Ø Merge
2 T. 15 Std.
Gemergte PRs (30 T.)
141

Beschreibung

**Description of the false positive**

In general, the `cs/useless-assignment-to-local` rule makes sense: https://lgtm.com/rules/1506093386171/

However, assigning a ref struct like `Span` within an instance method of a containing ref struct to `stackalloc` is not redundant and necessary to give the compiler a hint that the local will not escape the stack/method. Otherwise, the compiler would complain since that ref struct local could be stashed as a field of the containing type.

**URL to the alert on the project page on LGTM.com**

https://lgtm.com/projects/g/dotnet/corefx/latest/files/src/System.Text.Json/src/System/Text/Json/Reader/Utf8JsonReader.TryGet.cs?sort=name&dir=ASC&mode=heatmap#V820

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.