3 ms·
Yes 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
by macca321 7y ago
Yes 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.