roslyn: Editor doesn't render documentation comments properly

Version Used:

main

Steps to Reproduce: [jcouv update:] Compiler-focused repro was added below: https://github.com/dotnet/roslyn/issues/58966#issuecomment-1178659949

internal class C
{
    public static void M()
    {
        var a = new Test<int>();
        var b = a.Clone();
    }
}
internal class Test<T> : ICloneable<Test<T>>
{
    /// <inheritdoc/>
    public Test<T> Clone() => new();
}
/// <summary>A type that has clonable instances.</summary>
/// <typeparam name="T">The type of instances that can be cloned.</typeparam>
internal interface ICloneable<T>
{
    /// <summary>Clones a <typeparamref name="T"/>.</summary>
    /// <returns>A clone of the <typeparamref name="T"/>.</returns>
    T Clone();
}

Expected Behavior:

image

Actual Behavior:

image

More information:

This works if LSP editor is disabled, and was handled in https://github.com/dotnet/roslyn/pull/54164.

Originally reported by @ZacharyPatten in https://github.com/dotnet/roslyn/issues/54069#issuecomment-1014958482

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 1
  • Comments: 18 (18 by maintainers)

Most upvoted comments

tagging @dotnet/roslyn-compiler as I’m not sure what the expectations are around these symbols

  1. Is VS having a ConstructedNamedTypeSymbol that is not the same instance as it’s symbol.ConstructedForm is expected?
  2. Is the documentation comment visitor doing an incorrect check that shouldn’t be checking reference equality?
  3. Something else?

It may have originally been only broken in the LSP editor, but for me it is broken in any release beyond 17.0 (in both lsp and non-lsp).

E.g. inherit_typeparam