[Mono-dev] Pretty bad compiler regression in 2.4, and 2.6 with nullable generics and interfaces
Arne Claassen
arnec at mindtouch.com
Fri Oct 2 13:37:48 EDT 2009
I filed this here:
https://bugzilla.novell.com/show_bug.cgi?id=543570
Compiling:
namespace Repro {
class Program {
public static void Main(string[] args) { }
}
interface InterfaceWithGenericMethod {
T? GenericMethod<T>() where T : struct;
}
public class DerivedClass : InterfaceWithGenericMethod {
public T? GenericMethod<T>() where T : struct {
return null;
}
}
}
produces the below on 2.4 and 2.6:
Program.cs(10,19): error CS0425: The constraints for type parameter
`T' of method `Repro.DerivedClass.GenericMethod<T>()' must match the
constraints for type parameter `T' of interface method
`Repro.InterfaceWithGenericMethod.GenericMethod<T>()'. Consider using
an explicit interface implementation instead
Program.cs(6,12): (Location of the symbol related to previous error)
This used to work in 1.9.1, and i think 2.0. Also works on .NET. Seems
like it's not able to match up the constraints between the interface
and the implementation.
cheers,
Arne Claassen
MindTouch
San Diego, CA
http://twitter.com/sdether
More information about the Mono-devel-list
mailing list