Open steinybot opened 5 hours ago
If you just use Abort.panic to fatally abort something you end up with Abort[Nothing] which you have to then eliminate using Reducible.eliminate[Abort[Nothing]] which is a bit cumbersome. For example: https://github.com/getkyo/kyo/blob/a62912b34b064c8b860828fc5a8dcb553bbc76af/kyo-prelude/shared/src/test/scala/kyo/StreamTest.scala#L72-L77
Abort.panic
Abort[Nothing]
Reducible.eliminate[Abort[Nothing]]
I forgot to add the bigger issue with Abort[Nothing] is that you can't use Abort.run on it since you can't get a ClassTag[Nothing] or Tag[Nothing].
Abort.run
ClassTag[Nothing]
Tag[Nothing]
If you just use
Abort.panic
to fatally abort something you end up withAbort[Nothing]
which you have to then eliminate usingReducible.eliminate[Abort[Nothing]]
which is a bit cumbersome. For example: https://github.com/getkyo/kyo/blob/a62912b34b064c8b860828fc5a8dcb553bbc76af/kyo-prelude/shared/src/test/scala/kyo/StreamTest.scala#L72-L77