BSK-E0155 error

PEP 695 syntax used below the configured target version

type X = ... aliases and class FooT / def fT() type-parameter lists are Python 3.12+ syntax (PEP 695). When the configured python_version targets anything older, the file cannot even be parsed by the target interpreter, so this fires as an error (issue #93).

# python_version = "3.11"
type Alias = int          # E0155 — `type` statement requires 3.12+
class Box[T]: ...         # E0155 — PEP 695 type params require 3.12+
def first[T](x: T) -> T:  # E0155 — PEP 695 type params require 3.12+

How to handle it

Every rule is on by default — strict is the default, not a cage. You can dial BSK-E0155 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-E0155