Huh! Well, it's good that I can now make the code work, although it starts to suggest to me that I'm going to need to write more explicit overloading for the Capsule class to make everything work correctly. Meanwhile, I'm not sure, given your explanation, why this works normally:
in reply to Re: proxying overloads: returns seem to lie
in thread proxying overloads: returns seem to lie
I suppose there's some context change going on in the capsule's overload nomethod, but I'm not clear on what it is.
Is there a simple tool I could use to see these context changes? I don't think it's the debugger, but maybe it's got voodoo I don't know about.
my $result = $widget eq "It's a widget!";
print "# result of comparison: ", ($result?'true':'false'), "\n";