Author: Manuel Jacob <m...@manueljacob.de> Branch: Changeset: r74130:05a158d8f78b Date: 2014-10-23 16:19 +0200 http://bitbucket.org/pypy/pypy/changeset/05a158d8f78b/
Log: hg merge diff --git a/rpython/jit/codewriter/assembler.py b/rpython/jit/codewriter/assembler.py --- a/rpython/jit/codewriter/assembler.py +++ b/rpython/jit/codewriter/assembler.py @@ -249,6 +249,8 @@ if isinstance(TYPE, lltype.FuncType): name = value._obj._name elif TYPE == rclass.OBJECT_VTABLE: + if not value.name: # this is really the "dummy" class + return # pointer from some dict name = ''.join(value.name.chars) else: return diff --git a/rpython/jit/metainterp/test/test_dict.py b/rpython/jit/metainterp/test/test_dict.py --- a/rpython/jit/metainterp/test/test_dict.py +++ b/rpython/jit/metainterp/test/test_dict.py @@ -20,6 +20,21 @@ res = self.interp_operations(fn, [0]) assert not res + def test_dict_of_classes_as_values(self): + class A: + x = 5 + class B(A): + x = 8 + def fn(n): + A() + B() + d = self.newdict() + d[42] = A + d[43] = B + return d[n].x + res = self.interp_operations(fn, [43]) + assert res == 8 + def test_dict_keys_values_items(self): for name, extract, expected in [('keys', None, 'k'), ('values', None, 'v'), _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit