Bug 320120 (MONO77327) - [GMCS] exception when combining generics and "yield"-style enumerators
Summary: [GMCS] exception when combining generics and "yield"-style enumerators
Status: RESOLVED FIXED
Alias: MONO77327
Product: Mono: Compilers
Classification: Mono
Component: C# (show other bugs)
Version: 1.1
Hardware: Other Other
: P3 - Medium : Normal
Target Milestone: ---
Assignee: Martin Baulig
QA Contact: Mono Bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-01-23 16:43 UTC by Gael Fraiteur
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
this code snippet makes the compiler crash (509 bytes, text/plain)
2006-01-23 16:44 UTC, Thomas Wiest
Details

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


---- Reported by gael@fraiteur.net 2006-01-23 09:43:50 MST ----

Description of Problem:
The compiler throws an exception when trying to compile the file attached.


Steps to reproduce the problem:
1. gmcs TestEnumeratorWrapper.cs

Actual Results:
Exception caught by the compiler while compiling:
   Block that caused the problem begin at: TestEnumeratorWrapper.cs(6,40):
                     Block being compiled: [TestEnumeratorWrapper.cs
(14,9):,TestEnumeratorWrapper.cs(16,9):]
System.NotSupportedException: Operation is not supported.

Unhandled Exception: System.NotSupportedException: Operation is not 
supported.
in <0x0001d> 
System.Reflection.Emit.GenericTypeParameterBuilder:GetInterfaces ()
in <0x000fb> Mono.CSharp.TypeManager:ExpandInterfaces (System.Type[] 
base_interfaces)
in <0x00118> Mono.CSharp.TypeParameter:FindMembers (MemberTypes mt, 
BindingFlags bf, System.Reflection.MemberFilter fir, System.Object 
criteria)
in <0x00258> Mono.CSharp.TypeManager:MemberLookup_FindMembers 
(System.Type t, MemberTypes mt, BindingFlags bf, System.ing name, 
System.Boolean used_cache)
in <0x002ac> Mono.CSharp.TypeManager:RealMemberLookup (System.Type 
invocation_type, System.Type qualifier_type, Systempe queried_type, 
MemberTypes mt, BindingFlags original_bf, System.String name, IList 
almost_match)
in <0x00047> Mono.CSharp.TypeManager:MemberLookup (System.Type 
invocation_type, System.Type qualifier_type, System.Typueried_type, 
MemberTypes mt, BindingFlags original_bf, System.String name, IList 
almost_match)
in <0x00066> Mono.CSharp.Expression:MemberLookup (Mono.CSharp.EmitContext 
ec, System.Type container_type, System.Type lifier_type, System.Type 
queried_type, System.String name, MemberTypes mt, BindingFlags bf, 
Location loc)
in <0x00042> Mono.CSharp.Expression:MethodLookup (Mono.CSharp.EmitContext 
ec, System.Type queried_type, System.String e, Location loc)
in <0x0025a> Mono.CSharp.Convert:GetConversionOperator 
(Mono.CSharp.EmitContext ec, Mono.CSharp.Expression source, Sys.Type 
target_type, Boolean look_for_explicit)
in <0x001aa> Mono.CSharp.Convert:UserDefinedConversion 
(Mono.CSharp.EmitContext ec, Mono.CSharp.Expression source, Sys.Type 
target, Location loc, Boolean look_for_explicit)
in <0x00038> Mono.CSharp.Convert:ExplicitUserConversion 
(Mono.CSharp.EmitContext ec, Mono.CSharp.Expression source, Sym.Type 
target, Location loc)
in <0x00337> Mono.CSharp.Convert:ExplicitConversionCore 
(Mono.CSharp.EmitContext ec, Mono.CSharp.Expression expr, SystType 
target_type, Location loc)
in <0x00038> Mono.CSharp.Convert:ExplicitConversion 
(Mono.CSharp.EmitContext ec, Mono.CSharp.Expression expr, System.T 
target_type, Location loc)
in <0x00208> Mono.CSharp.Cast:ResolveRest (Mono.CSharp.EmitContext ec)
in <0x00056> Mono.CSharp.Cast:DoResolve (Mono.CSharp.EmitContext ec)
in <0x00134> Mono.CSharp.Expression:Resolve (Mono.CSharp.EmitContext ec, 
ResolveFlags flags)
in <0x00028> Mono.CSharp.Expression:Resolve (Mono.CSharp.EmitContext ec)
in <0x0002f> Mono.CSharp.Yield:Resolve (Mono.CSharp.EmitContext ec)
in <0x00258> Mono.CSharp.Block:Resolve (Mono.CSharp.EmitContext ec)
in <0x00167> Mono.CSharp.While:Resolve (Mono.CSharp.EmitContext ec)
in <0x00258> Mono.CSharp.Block:Resolve (Mono.CSharp.EmitContext ec)
in <0x001de> Mono.CSharp.EmitContext:ResolveTopBlock 
(Mono.CSharp.EmitContext anonymous_method_host, Mono.CSharp.TopleBlock 
block, Mono.CSharp.Parameters ip, IMethodData md, System.Boolean 
unreachable)

Expected Results:
Should compile.

How often does this happen? 
Always.

Additional Information:



---- Additional Comments From gael@fraiteur.net 2006-01-23 09:44:43 MST ----

Created an attachment (id=169155)
this code snippet makes the compiler crash




---- Additional Comments From martin@ximian.com 2006-03-24 13:12:05 MST ----

Fixed in SVN.

Imported an attachment (id=169155)

Unknown bug field "cf_op_sys_details" encountered while moving bug
   <cf_op_sys_details>Linux  2.6.14-1.1656_FC4</cf_op_sys_details>
Unknown operating system unknown. Setting to default OS "Other".