[pypy-issue] Issue #2018: Rtyper failure when using prebuilt dict with function values (pypy/pypy)

Ronan Lamy issues-reply at bitbucket.org
Wed Apr 8 18:34:18 CEST 2015


New issue 2018: Rtyper failure when using prebuilt dict with function values
https://bitbucket.org/pypy/pypy/issue/2018/rtyper-failure-when-using-prebuilt-dict

Ronan Lamy:

This:

```python

def stub(test):
    pass

table = {'stub': stub}

def entry_point(argv):
    if len(argv) > 1 and argv[1] in table:
        print 'hello'
    return 0

def target(*args):
    return entry_point, None
```
crashes with:
```
...
[translation:info]    File "rpython/rtyper/lltypesystem/rordereddict.py", line 386, in rtype_contains
[translation:info]     v_dict, v_key = hop.inputargs(r_dict, r_dict.key_repr)
[translation:info]    File "rpython/rtyper/rtyper.py", line 678, in inputargs
[translation:info]     vars.append(self.inputarg(converted_to[i], i))
[translation:info]    File "rpython/rtyper/rtyper.py", line 659, in inputarg
[translation:info]     return inputconst(converted_to, v.value)
[translation:info]    File "rpython/rtyper/rmodel.py", line 346, in inputconst
[translation:info]     value = reqtype.convert_const(value)
[translation:info]    File "rpython/rtyper/lltypesystem/rordereddict.py", line 263, in convert_const
[translation:info]     l_dict.keyhash(llkey))
[translation:info]    File "rpython/rtyper/lltypesystem/rordereddict.py", line 606, in _ll_dict_insertclean
[translation:info]     entry.value = value
[translation:info]    File "rpython/rtyper/lltypesystem/lltype.py", line 1270, in __setattr__
[translation:info]     T2 = typeOf(val)
[translation:info]    File "rpython/rtyper/lltypesystem/lltype.py", line 836, in typeOf
[translation:info]     raise TypeError("typeOf(%r object)" % (tp.__name__,))
[translation:ERROR] TypeError: typeOf('function' object)
```




More information about the pypy-issue mailing list