I noticed this problem when using pike -M in 7.6 and I guess its known,
since it does not occur anymore in pike 7.8. Consider this situation:

one has some module directory and a class from that module is used
somewhere in module.pmod. Using these examples

* dir/module.pmod

string h(int i) {
        return .A()->h(i);
}

* dir/A.pike

string h(int i) {
        return String.int2char(i);
}

Now, when using pike -M dir/ I get the following error:

dir/A.pike:2:Got placeholder object (resolver problem) when resolving
'String'.
dir/A.pike:2:Undefined identifier "String".
dir/A.pike:2:Got placeholder object (resolver problem) when resolving
'String'.
dir/A.pike:2:Undefined identifier "String".
dir/module.pmod:2:Error looking up 'A' in module '.'.
Attempt to call the NULL-value
Unknown program: 0()

The problem goes away either by using A() instead of .A() or by using
pike -M dir without the "/". Is this a bug or am I doing something wrong
here?

arne

  • resolver problem usin... Arne Goedeke

Reply via email to