[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



           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? 

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