void () { doTest("int", "(x: int, y: str) -> int", """ from typing import Callable, ParamSpec, TypeVar P = ParamSpec("P") R = TypeVar("R") def log_to_database(): print('42') def add_logging(f: Callable[P, R]) -> Callable[P, R]: def inner(*args: P.args, **kwargs: P.kwargs) -> R: log_to_database() return f(*args, **kwargs) return inner @add_logging def takes_int_str(x: int, y: str) -> int: return x + len(y) value = takes_int_str(1, "A") dec_func = takes_int_str """); }