-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Open
Labels
Area-IDEBughelp wantedThe issue is "up for grabs" - add a comment if you are interested in working on itThe issue is "up for grabs" - add a comment if you are interested in working on it
Milestone
Description
Version Used: VS 17.13 Preview 1
Steps to Reproduce:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<GenerateDocumentationFile>true</GenerateDocumentationFile> <!-- important for repro -->
</PropertyGroup>
</Project>
Console.WriteLine();
public class C
{
/// <summary>Whatever</summary>
public static void M1<T>(T? expected)
{
}
/// <inheritdoc cref="M1$$" />
public static void M2()
{
}
}Trigger completion in place of $$, it completes to M1{T}(T?) which produces:
CS1574 XML comment has cref attribute 'M1{T}(T?)' that could not be resolved
It should have completed to M1{T}(T) (unless the completion is correct and this is a compiler bug?)
NOTE: Some scenarios that are working currently correctly but need to be taken with care to not regress them
If you have:
/// <summary>Whatever</summary>
public static void M1<T>(T? expected) where T : struct
{
}
/// <summary>Whatever 2</summary>
public static void M1<T>(T expected) where T : struct
{
}Then completion for both T and T? should be offered (and is currently the case that should not be regressed).
Similarly, even if only this overload exists:
/// <summary>Whatever</summary>
public static void M1<T>(T? expected) where T : struct
{
}The completion should use T?
Metadata
Metadata
Assignees
Labels
Area-IDEBughelp wantedThe issue is "up for grabs" - add a comment if you are interested in working on itThe issue is "up for grabs" - add a comment if you are interested in working on it
Type
Projects
Status
InQueue