TypeError thrown in DynamicMetaObjectBinder.Bind

Hi,
I’m reviewing ironruby-hpricot to clean up its code but I’ve just
noticed that something has changed in IronRuby since I last tested my
library. Please refer to the the following gist for a simplified test
case to reproduce the problem:

I’m pretty sure this was working ~1 month ago, am I doing something
wrong?


Daniele A.
http://www.clorophilla.net/blog/
http://twitter.com/JoL1hAHN

I think you need to do an explicit conversion to MutableString. The DLR
used to do some automatic conversions, but now you need to be explicit.
I don’t know what code to use so you will have to wait until someone who
knows that can reply…

A couple of issues:

  1. As Shri said, the return type of a site must be Object.
  2. You shouldn’t be creating a new site (and also not a shared one) in
    each invocation of the method. Instead, use one of the CallSiteStorages
    defined in CallSiteStorages.cs as the first parameter. You can search in
    the built-ins for examples of usage.

Tomas

Hi Tomas,

  1. Oh, I see. I didn’t know that, and the fact that it was working
    with previous versions of IR just misleaded me.
  2. Indeed, I know it was wrong to create a new site on each invocation
    and that’s exactly why I’m reviewing the oldest bits of code that
    actually interact with IronRuby to clean up everything and do it the
    right way :slight_smile:

Thanks!

On Mon, May 4, 2009 at 19:39, Tomas M.
[email protected] wrote:

Subject: Re: [Ironruby-core] TypeError thrown in DynamicMetaObjectBinder.Bind
I’m reviewing ironruby-hpricot to clean up its code but I’ve just
clorophilla.net


Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core


Daniele A.
http://www.clorophilla.net/blog/
http://twitter.com/JoL1hAHN