overriding unsafe methods


When inheriting of a class with unsafe methods there are some problems
public abstract class DrawableOverrule : Overrule
public virtual int SetAttributes(Drawable drawable, DrawableTraits traits);
[return: MarshalAs(UnmanagedType.U1)]
public virtual bool WorldDraw(Drawable drawable, WorldDraw wd);
When subclassing this class in IronRuby it isn't allowed to call super in this method because that will throw an error
class MySubClass < DrawableOverride
def world_draw(drawable, wd)
   super  # yields an exception on RubyOverloadResolver.MapSpecialParamaters()
The expected behaviour is probably that there is no exception and things work
Closed Jul 23, 2009 at 12:03 AM by jredville
regression spec added


TomasMatousek wrote Jun 2, 2009 at 3:53 AM

This is an issue for general super calls, marshalling is not relevant - the assertion needs to be fixed.
We also emitted invalid IL the super method was abstract.

wrote Jun 2, 2009 at 10:53 PM

wrote Jul 23, 2009 at 12:03 AM

wrote Dec 7, 2009 at 6:53 AM

wrote Dec 7, 2009 at 11:25 PM

wrote Feb 22, 2013 at 12:40 AM

wrote May 16, 2013 at 12:05 PM