Skip to content

Instantly share code, notes, and snippets.

@carljm
Created September 18, 2026 15:43
Show Gist options
  • Select an option

  • Save carljm/f491f5bff17ba0bde22cc67432eb9115 to your computer and use it in GitHub Desktop.

Select an option

Save carljm/f491f5bff17ba0bde22cc67432eb9115 to your computer and use it in GitHub Desktop.
{"version": 1, "file_mapping": {"main.py": "main.py", "pyproject.toml": "pyproject.toml"}}
from typing import TypeVar, reveal_type
T = TypeVar("T")
Tree = T | tuple["Tree[list[T]]"]
def inspect(tree: Tree[int]):
if isinstance(tree, tuple):
child = tree[0]
reveal_type(child) # Tree[list[int]]
if isinstance(child, tuple):
reveal_type(child[0]) # Tree[list[list[int]]]
[project]
name = "sandbox"
version = "0.1.0"
requires-python = ">=3.10"
dependencies = []
[tool.ty]
[tool.ty.rules]
deprecated = "warn"
undefined-reveal = "ignore"
redundant-condition-strict = "warn"
[tool.pyright]
reportDeprecated = "warning"
reportWildcardImportFromLibrary = false
reportSelfClsParameterName = false
reportUnusedExpression = false
[tool.pyrefly]
[tool.pyrefly.errors]
deprecated = "error"
unimported-directive = false
[tool.mypy]
color_output = true
pretty = true
check_untyped_defs = true
enable_error_code = ["deprecated"]
[tool.zuban]
pretty = true
check_untyped_defs = true
enable_error_code = ["deprecated"]
[tool.pycroscope]
import_paths = ["."]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment