Area-CompilersBugConcept-Diagnostic Clarityhelp wanted
Métricas do repositório
- Stars
- (20.414 stars)
- Métricas de merge de PR
- (Mesclagem média 6d 17h) (256 fundiu PRs em 30d)
Description
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'