spebbe / dartz

Functional programming in Dart
MIT License
749 stars 60 forks source link

How to cast both sides of Either? #116

Open jalvespinto opened 1 year ago

jalvespinto commented 1 year ago

I am trying to have Either<Failure, Concrete> where Concrete extends Abstract class, but I cannot get it to work. If I try to cast the left side I get the error:

type 'Right<Failure, Concrete>' is not a subtype of type 'Either<Failure, Abstract>' in type cast

if I try for the right side I get:

type 'Left<Object, Concrete>' is not a subtype of type 'Either<Failure, Concrete>' in type cast

And bimap does not seems to solve it. Is there an easy way to do it? tks

sachinmaharjan182 commented 1 year ago

@jalvespinto got same problem like yours. In my case i am returning value as Right(value). when i changed my code to below . it worked. Before return Right(User()) After return Right<Failure,User>(User());