BSK-E0082 error

TypeVarTuple callable/tuple argument mismatch

When a constructor (or function) links two parameters via a TypeVarTuple -- one as Callable[Ts, R] and the other as tupleTs -- passing a known function as the callable infers the expected element types for the tuple. If the tuple literal has elements whose types do not match the inferred order, Basilisk reports the mismatch.

Ts = TypeVarTuple("Ts")

class Process:
    def __init__(self, target: Callable[[*Ts], None], args: tuple[*Ts]) -> None: ...

def func1(arg1: int, arg2: str) -> None: ...

Process(target=func1, args=(0, ""))   # OK
Process(target=func1, args=("", 0))  # E -- str, int does not match int, str

How to handle it

Every rule is on by default — strict is the default, not a cage. You can dial BSK-E0082 down per-file or per-path from your editor or pyproject.toml, or fix the code so it type-checks. See the Type System rules and the complete diagnostic reference.

Canonical URL: https://www.basilisk-python.dev/errors/BSK-E0082