github / github/codeql

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

未关闭
#2,754 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
C# false-positive
主要语言
CodeQL
星标
10.1k
派生
2.1k
平均合并
2 天 15 小时
30 天内合并 PR
141

描述

**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

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。