def unpack_single_tuple(tyctx, tup):
    """This exists to handle the situation y = (*x,), the interpreter injects a
    call to it in the case of a single value unpack. It's not possible at
    interpreting time to differentiate between an unpack on a variable sized
    container e.g. list and a fixed one, e.g. tuple. This function handles the
    situation should it arise.
    """
    # See issue #6534
    if not isinstance(tup, types.BaseTuple):
        msg = (f"Only tuples are supported when unpacking a single item, "
               f"got type: {tup}")
        raise errors.UnsupportedError(msg)

    sig = tup(tup)

    def codegen(context, builder, signature, args):
        return args[0] # there's only one tuple and it's a simple pass through
    return sig, codegen
This exists to handle the situation y = (*x,), the interpreter injects a
    call to it in the case of a single value unpack. It's not possible at
    interpreting time to differentiate between an unpack on a variable sized
    container e.g. list and a fixed one, e.g. tuple. This function handles the
    situation should it arise.
    
numba/cpython/unsafe/tuple.py