Please do not reply to this email- if you want to comment on the bug, go to the URL shown below and enter your comments there.
Changed by [EMAIL PROTECTED] http://bugzilla.ximian.com/show_bug.cgi?id=75668 --- shadow/75668 2005-07-30 12:12:48.000000000 -0400 +++ shadow/75668.tmp.23103 2005-07-30 12:12:48.000000000 -0400 @@ -0,0 +1,65 @@ +Bug#: 75668 +Product: Mono: Compilers +Version: 1.0 +OS: +OS Details: +Status: NEW +Resolution: +Severity: +Priority: Wishlist +Component: C# +AssignedTo: [EMAIL PROTECTED] +ReportedBy: [EMAIL PROTECTED] +QAContact: [EMAIL PROTECTED] +TargetMilestone: --- +URL: +Cc: +Summary: GMCS Incorrect 'as' Operator Behavior With Class Constraint + +Description of Problem: + +Gmcs appears to recognize and accept a class constraint (where T:class) on +a generic method, but the 'as' operator doesn't work as it should when the +class constraint is applied. + +Code to Reproduce the Problem: + + public static T QueryInterface<T>(object val) + where T : class + { + if (val == null) + return null; + + // First, see if the given object can be directly cast + // to the requested type. This will be a common case, + // especially when checking for standard behavior interface + // implementations (like IXrcDataElement). + T tval = val as T; + if (tval != null) + return tval; + + // ... rest of method unimportant and omitted ... + return null; + } + + + +Actual Results: + +Xircle.Core/src/Core/XrcConvert.cs(118) error CS0077: The as operator +should be used with a reference type only (T is a value type) + +Expected Results: + +The 'as' operator should compile without errors b/c the 'class' constraint +(where T:class) on the method should cause T to be assumed to be a +reference type. Visual Studio beta 2 accepts this code without error. + +How often does this happen? + +Every time. + +Additional Information: + +Bug #75368 appeared to me to be related, but even though it's marked as +fixed, the problem still appears in SVN head, so perhaps it is not. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
