Мне нужно что-то вроде этого:
a: some_type
b: same_type_as[a]
assert reveal_type(a) == reveal_type(b)
На практике эти две переменные определены в очень разных местах. Я хочу использовать систему типов, чтобы всегда иметь один и тот же тип. Я хочу избежать проблем, которые возникают, когда разработчик изменяет одну переменную, но забывает обновить другую.
Это также должно работать, если один из типов определен неявно. Например
def f() -> some_type:
return something
a = f()
b: same_type_as[a]
assert reveal_type(a) == reveal_type(b)