dotnet/roslyn

Invalid IDE0059 When using constant inside static local function

Open

#44,948 opened on Jun 8, 2020

View on GitHub
 (3 comments) (2 reactions) (0 assignees)C# (20,414 stars) (4,257 forks)batch import
Area-IDEBugFeature - IDE0059help wanted

Description

Version Used: Visual Studio 16.6.1

Steps to Reproduce:

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            var local = FormatDate(DateTime.Now);
            var utc = FormatUtcDate(DateTime.Now);
            Console.WriteLine("{0} -> {1}", local, utc);
            Console.ReadKey();

            const string DatePickerFormat = "MM/dd/yyyy hh:mm";
            static string FormatDate(DateTime? date) => date?.ToString(DatePickerFormat);
            static string FormatUtcDate(DateTime? date) => date?.ToUniversalTime().ToString(DatePickerFormat);
        }
    }
}

Expected Behavior: No IDE0059 notice will be shown for DatePickerFormat because it is used by the static local functions FormatDate and FormatUtcDate.

Actual Behavior: An IDE0059 notice is shown for DatePickerFormat .

Contributor guide