Area-CompilersBugConcept-Diagnostic Clarityhelp wanted
説明
using System;
public abstract class ThingWithOrganizationId
{
public Guid OrganizationId;
}
public class Thing : ThingWithOrganizationId
{
}
public abstract class BaseService<TConstraint, U>
{
public abstract void Save<T> (T newThing) where T : struct, TConstraint;
}
public class DerivedService:BaseService<Thing, X>
{
public override void Save<TThing>(TThing newThing)
{
Console.WriteLine(newThing.OrganizationId);
}
static void Main ()
{
}
}
Roslyn csc produces following errors
(24,31): error CS0455: Type parameter 'TThing' inherits conflicting constraints 'Thing' and 'ValueType'
(24,31): error CS0455: Type parameter 'TThing' inherits conflicting constraints 'ValueType' and 'struct'
It should print something like this instead
(24,31): error CS0455: Type parameter 'TThing' inherits conflicting constraints 'Thing' and 'struct'