Author: Armin Rigo <ar...@tunes.org> Branch: fix-strbuf Changeset: r78668:b21a6e8e8f70 Date: 2015-07-26 14:32 +0200 http://bitbucket.org/pypy/pypy/changeset/b21a6e8e8f70/
Log: (fijal, arigo) Argh, bug and fix diff --git a/rpython/rlib/rstring.py b/rpython/rlib/rstring.py --- a/rpython/rlib/rstring.py +++ b/rpython/rlib/rstring.py @@ -687,12 +687,12 @@ class __extend__(pairtype(SomeStringBuilder, SomeStringBuilder)): def union((obj1, obj2)): - return obj1 + return SomeStringBuilder() class __extend__(pairtype(SomeUnicodeBuilder, SomeUnicodeBuilder)): def union((obj1, obj2)): - return obj1 + return SomeUnicodeBuilder() class PrebuiltStringBuilderEntry(ExtRegistryEntry): _type_ = StringBuilder diff --git a/rpython/rtyper/test/test_rbuilder.py b/rpython/rtyper/test/test_rbuilder.py --- a/rpython/rtyper/test/test_rbuilder.py +++ b/rpython/rtyper/test/test_rbuilder.py @@ -217,12 +217,17 @@ def test_string_builder_union(self): s = StringBuilder() + s.append('foo') def f(i): if i % 2: s2 = StringBuilder() + s2.append('x') else: s2 = s - return s2.build() + return len(s2.build()) - self.interpret(f, [3]) + res = self.interpret(f, [33]) + assert res == 1 + res = self.interpret(f, [34]) + assert res == 3 _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit