This gives a runtime error which seems incorrect to me. Flipping the #if causes it to run flawlessly. Is this a problem in Pike, or are my expectations too high?
This is expected (and correct) behavior, the `->() operator performs "external" indexing. In this case you may want to use the syntax
this::bar = 1;
or
this_program::bar = 1;
/grubba