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 22, 2009 at 11:03 PM by jredville
regression spec added


TomasMatousek wrote Jun 2, 2009 at 2: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 9:53 PM

wrote Jul 22, 2009 at 11:03 PM

wrote Dec 7, 2009 at 5:53 AM

wrote Dec 7, 2009 at 10:25 PM

wrote Feb 21, 2013 at 11:40 PM

wrote May 16, 2013 at 11:05 AM