dotnet/roslyn

Rename symbol misses symbol used in invalid assignment

Open

#67,665 opened on Apr 6, 2023

View on GitHub
 (1 comment) (0 reactions) (0 assignees)C# (4,257 forks)batch import
Area-IDEFeature - Renamehelp wanted

Repository metrics

Stars
 (20,414 stars)
PR merge metrics
 (Avg merge 6d 17h) (256 merged PRs in 30d)

Description

Version Used: Version 17.7.0 Preview 1.0 [33604.490.main]

Steps to Reproduce:

class C
{
    private static readonly object _f;

    public C()
    {
        _f = new();
    }
}

Attempting to rename _f fails to rename the occurrence in the constructor. Admitted that occurrence is invalid (cannot assign to readonly static) but Go to definition and Find all references both resolve the usage, so rename should too.

My larger use case here was converting a field from local to static. I added static then had a diagnostic to update the name due to naming convention. It renamed the field to s_f but not the usage. Further investigation revealed the issue applies to manual renames too.

Contributor guide