4 ms·
Do you mean something like this? T1 = TypeVar("T1") T2 = TypeVar("T2") GenericUnion = Union[T1, T2]
by Recursing 7y ago
Do you mean something like this?
T1 = TypeVar("T1")
T2 = TypeVar("T2")
GenericUnion = Union[T1, T2]
- macca321 7y agoYes I can't quite remember why I couldn't get it to work. I want to make something where this is valid, but couldn't manage it: def foo() -> OneOf[Bar, Baz]: if blah(): return Bar() return Baz() def bar_to_blah(bar:Bar) -> Blah : ... def baz_to_blah(baz:Baz) -> Blah : ... one_of_bar_or_baz = foo() blah = one_of_bar_or_baz.match(bar_to_blah, baz_to_blah) but the critical thing is to get a type error if you add another case to foo's return type, or change the generics to different types.