Bugzilla – Bug 320120
[GMCS] exception when combining generics and "yield"-style enumerators
Last modified: 2007-09-15 21:24:23 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".