I don't really see the point of IOSuccess and IOFailure. From one hand, IOResult.from_value(1) == IOSuccess.from_value(1). Actually ,IOSuccess.from_value(1) == IOFailure.from_value(1).
I would also expect some benefit when using it in a match-case. Something like:
value=IOSuccess.from_value(1)
matchvalue:
caseIOSuccess(v): assert(v==1)
case _: pass
However, the "correct" code is
value=IOSuccess.from_value(1)
matchvalue:
caseIOResult(Success(v)): assert(v==1)
case _: pass
Therefore, IOSuccess and IOFailure as aliases are quite confusing. Don't you think?
I don't really see the point of
IOSuccessandIOFailure. From one hand,IOResult.from_value(1) == IOSuccess.from_value(1). Actually ,IOSuccess.from_value(1) == IOFailure.from_value(1).I would also expect some benefit when using it in a match-case. Something like:
However, the "correct" code is
Therefore,
IOSuccessandIOFailureas aliases are quite confusing. Don't you think?