[Mono-bugs] [Bug 570062] New: Bug in resolving of semi-circular dependency in generic arguments from a referenced assembly
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Tue Jan 12 12:18:42 EST 2010
http://bugzilla.novell.com/show_bug.cgi?id=570062
http://bugzilla.novell.com/show_bug.cgi?id=570062#c0
Summary: Bug in resolving of semi-circular dependency in
generic arguments from a referenced assembly
Classification: Mono
Product: Mono: Compilers
Version: 2.6.x
Platform: Other
OS/Version: Ubuntu
Status: NEW
Severity: Normal
Priority: P5 - None
Component: C#
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: jslavetinsky at seznam.cz
QAContact: mono-bugs at lists.ximian.com
Found By: Development
Blocker: Yes
Created an attachment (id=336202)
--> (http://bugzilla.novell.com/attachment.cgi?id=336202)
monodevelop mini-project that reproduces the bug
Description of Problem:
In case of certain non-trivial generic parameter usage, and when split among
more than one assembly, an absurd error occurs that basically says "this class
is not this class"
Attached is a monodevelop mini-project that results from the instructions below
and reproduces the bug.
Steps to reproduce the problem:
1. compile following C# code into assembly "aAB":
public class A<TB, TC> where TC : A<TB, TC> { }
public class B<TC> where TC : A<B<TC>, TC> { }
2. compile following C# code into assembly "aC" with a reference to "aAB":
public class C : A<B<C>, C> { }
Actual Results:
error CS0309: The type `C' must be convertible to `A<B<TC>,C>' in order to use
it as parameter `TC' in the generic type or method `B<TC>'
Expected Results:
successful compilation, which is what happens when A B and C are compiled into
1 assembly
How often does this happen?
always
Additional Information:
NET in windows doesn't have this bug - I found it when trying to migrate my
project from windows to linux. Can't do it now... :(
--
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list