Skip to content

Instantly share code, notes, and snippets.

@carljm
Created April 23, 2026 01:51
Show Gist options
  • Select an option

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

Select an option

Save carljm/440b0cda18791ec9f12ba640e230ffa9 to your computer and use it in GitHub Desktop.
{"version": 1, "file_mapping": {"main.py": "main.py", "pyproject.toml": "pyproject.toml"}}
from functools import partial
from typing import Protocol, reveal_type
import random
class Identity(Protocol):
def __call__(self, value: bool) -> bool: ...
def identity(value: bool) -> bool:
return value
def foo() -> None:
foo: Identity
if random.randint(0, 1):
foo = identity
else:
foo = partial(identity)
reveal_type(foo)
[project]
name = "sandbox"
version = "0.1.0"
requires-python = ">=3.10"
dependencies = []
[tool.ty]
[tool.ty.terminal]
output-format = "concise"
[tool.ty.rules]
undefined-reveal = "ignore"
empty-body = "ignore"
[tool.mypy]
color_output = true
check_untyped_defs = true
disable_error_code = ["empty-body"]
[tool.pyright]
reportWildcardImportFromLibrary = false
reportSelfClsParameterName = false
reportUnusedExpression = false
[tool.zuban]
check_untyped_defs = true
[tool.pycroscope]
import_paths = ["."]
[tool.pyrefly]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment