Skip to content

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

Open
@ahsonkhan

Description

@ahsonkhan

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions