Bug 318633 (MONO75692) - [GMCS] gmcs is confused by nested / inherited generic classes
Summary: [GMCS] gmcs is confused by nested / inherited generic classes
Status: RESOLVED FIXED
Alias: MONO75692
Product: Mono: Compilers
Classification: Mono
Component: C# (show other bugs)
Version: 1.0
Hardware: Other Other
: P3 - Medium : Normal
Target Milestone: ---
Assignee: Martin Baulig
QA Contact: Mono Bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-08-02 20:43 UTC by Kamil Skalski
Modified: 2007-09-15 21:24 UTC (History)
0 users

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Wiest 2007-09-15 19:26:24 UTC


---- Reported by nazgul@omega.pl 2005-08-02 13:43:44 MST ----

Please fill in this template when reporting a bug, unless you know what you
are doing.
Description of Problem:
I tried to compile example from
http://blogs.msdn.com/cyrusn/archive/2005/08/01/446431.aspx
but gmcs refuses to understand it

Steps to reproduce the problem:
1. Try to compile

public class A<T1>
{
 public T1 a;

 public class B<T2> : A<T2>
 {
 public T1 b;

 public class C<T3> : B<T3>
 {
 public T1 c;
 }
 }
}
class PopQuiz
{
 static void Main()
 {
 A<int>.B<char>.C<bool> o = new A<int>.B<char>.C<bool>();
 System.Console.WriteLine(o.a.GetType().FullName);
 System.Console.WriteLine(o.b.GetType().FullName);
 System.Console.WriteLine(o.c.GetType().FullName);
 }
}


Actual Results:
monobug-nested-inherit-gen.cs(10) error CS0305: Using the generic type
`A<T1>.B<T1,T2>' requires 2 type arguments


Expected Results:
Clean compile

How often does this happen? 
Always

Additional Information:
in runtime it should give
System.Bool
System.Char
System.Int32



---- Additional Comments From martin@ximian.com 2005-10-24 05:12:39 MST ----

Fixed in SVN.


Unknown bug field "cf_op_sys_details" encountered while moving bug
   <cf_op_sys_details>mono svn</cf_op_sys_details>
Unknown operating system unknown. Setting to default OS "Other".