def test_f_strings(self):
        """test f-string support, which requires bytecode handling
        """
        # requires formatting (FORMAT_VALUE) and concatenation (BUILD_STRINGS)
        def impl1(a):
            return f"AA_{a + 3}_B"

        # does not require concatenation
        def impl2(a):
            return f"{a + 2}"

        # no expression
        def impl3(a):
            return f"ABC_{a}"

        # format spec not allowed
        def impl4(a):
            return f"ABC_{a:0}"

        # corner case: empty string
        def impl5():
            return f""  # noqa: F541

        self.assertEqual(impl1(3), njit(impl1)(3))
        self.assertEqual(impl2(2), njit(impl2)(2))
        # string input
        self.assertEqual(impl3("DE"), njit(impl3)("DE"))

        # check output when there's no __str__ or __repr__ defined
        list_arg = ["A", "B"]
        got = njit(impl3)(list_arg)
        expected = f"ABC_<object type:{typeof(list_arg)}>"
        self.assertEqual(got, expected)

        # check error when format spec provided
        unsupported_errors = (UnsupportedError, UnsupportedBytecodeError)
        with self.assertRaises(unsupported_errors) as raises:
            njit(impl4)(["A", "B"])
        if PYVERSION in ((3, 13),):
            msg = "Use of unsupported opcode (FORMAT_WITH_SPEC)"
            self.assertIn(msg, str(raises.exception))
        elif PYVERSION in ((3, 10), (3, 11), (3, 12)):
            msg = "format spec in f-strings not supported yet"
            self.assertIn(msg, str(raises.exception))
        else:
            raise NotImplementedError(PYVERSION)
        self.assertEqual(impl5(), njit(impl5)())
test f-string support, which requires bytecode handling
        
numba/tests/test_unicode.py