(self)
| 1760 | @cpython_only |
| 1761 | @requires_specialization |
| 1762 | def test_unpack_sequence(self): |
| 1763 | def unpack_sequence_two_tuple(): |
| 1764 | for _ in range(_testinternalcapi.SPECIALIZATION_THRESHOLD): |
| 1765 | t = 1, 2 |
| 1766 | a, b = t |
| 1767 | self.assertEqual(a, 1) |
| 1768 | self.assertEqual(b, 2) |
| 1769 | |
| 1770 | unpack_sequence_two_tuple() |
| 1771 | self.assert_specialized(unpack_sequence_two_tuple, |
| 1772 | "UNPACK_SEQUENCE_TWO_TUPLE") |
| 1773 | self.assert_no_opcode(unpack_sequence_two_tuple, "UNPACK_SEQUENCE") |
| 1774 | |
| 1775 | def unpack_sequence_tuple(): |
| 1776 | for _ in range(_testinternalcapi.SPECIALIZATION_THRESHOLD): |
| 1777 | a, b, c, d = 1, 2, 3, 4 |
| 1778 | self.assertEqual(a, 1) |
| 1779 | self.assertEqual(b, 2) |
| 1780 | self.assertEqual(c, 3) |
| 1781 | self.assertEqual(d, 4) |
| 1782 | |
| 1783 | unpack_sequence_tuple() |
| 1784 | self.assert_specialized(unpack_sequence_tuple, "UNPACK_SEQUENCE_TUPLE") |
| 1785 | self.assert_no_opcode(unpack_sequence_tuple, "UNPACK_SEQUENCE") |
| 1786 | |
| 1787 | def unpack_sequence_list(): |
| 1788 | for _ in range(_testinternalcapi.SPECIALIZATION_THRESHOLD): |
| 1789 | a, b = [1, 2] |
| 1790 | self.assertEqual(a, 1) |
| 1791 | self.assertEqual(b, 2) |
| 1792 | |
| 1793 | unpack_sequence_list() |
| 1794 | self.assert_specialized(unpack_sequence_list, "UNPACK_SEQUENCE_LIST") |
| 1795 | self.assert_no_opcode(unpack_sequence_list, "UNPACK_SEQUENCE") |
| 1796 | |
| 1797 | @cpython_only |
| 1798 | @requires_specialization |
nothing calls this directly
no test coverage detected