[Ironruby-core] interface generic w/ generic methods

Jim Deville jdeville at microsoft.com
Wed May 20 11:42:13 EDT 2009


Two points: 1) We should probably have a clearer error message in this case. 2) That seems to be a bug since the behavior is different if IRubyEngine declares non-generic methods.

Please file a bug on CP with both points.

JD

…there is no try

From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Ivan Porto Carrero
Sent: Tuesday, May 19, 2009 11:54 PM
To: ironruby-core
Subject: [Ironruby-core] interface generic w/ generic methods

Hi

I'm observing the following behavior when I try to implement a CLR interface with generic method definitions.

So let's say an interface contains the following method definition

public interface IRubyEngine {
     T CreateInstance<T>(RubyClass rubyClass);
}

in ruby
class MyEngine
   include IRubyEngine
end

So far so good nothing has actually been created yet.

MyEngine.new => raises

(master) » ir
IronRuby 0.4.0.0 on .NET 2.0.50727.4918
Copyright (c) Microsoft Corporation. All rights reserved.

>>> require 'bin/System.Web.Mvc.IronRuby.dll'
=> true
>>> class MyEngine
... include System::Web::Mvc::IronRuby::Core::IRubyEngine
... end
=> MyEngine
>>> MyEngine.new
mscorlib:0:in `_TermCreateClass': Method 'ExecuteFile' in type 'IronRuby.Classes.Object$1' from assembly 'Snippets.scripting, Version=0.0.0.
0, Culture=neutral, PublicKeyToken=null' does not have an implementation. (System::TypeLoadException)
        from mscorlib:0:in `CreateTypeNoLock'
        from mscorlib:0:in `CreateType'
        from c:\tools\ironruby\ndp\fx\src\core\microsoft\scripting\Actions\DynamicMetaObjectBinder.cs:96:in `Bind'
        from c:\tools\ironruby\ndp\fx\src\core\microsoft\scripting\Actions\CallSiteBinder.cs:79:in `BindDelegate'
        from :0

>>> exit

in the console output above it complains about a different method but the idea is the same. that method def was T ExecuteFile<T>(string path, bool throwIfNotExist);

Do I put this on codeplex or is that the expected behavior?
---
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto Carrero
Blog: http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090520/9802bb3f/attachment.html>


More information about the Ironruby-core mailing list