typelevel / feral

Feral cats are homeless, feral functions are serverless
Apache License 2.0
168 stars 41 forks source link

Deprecate/remove `INothing`? #191

Open armanbilge opened 2 years ago

armanbilge commented 2 years ago

To follow suit with https://github.com/typelevel/fs2/pull/2870.

@bpholt had an excellent minimization in https://github.com/typelevel/feral/pull/52#issuecomment-974246880 demonstrating why we needed INothing instead of Nothing. Unfortunately, subsequent refactors made it no longer applicable and I was unable to find another one, tracked in https://github.com/typelevel/feral/issues/73.

I took a quick try at replacing INothing with Nothing. So far I encountered two issues:

armanbilge commented 2 years ago

So apparently there is this:

Reviving that PR seems like the best way to solve our implicit scope problems in the long-term.

Edit: nice, an issue as well.

armanbilge commented 2 years ago

Hmm, tried reviving the Circe PR in https://github.com/armanbilge/circe/commit/3973601d85684aaa474f9f130e98fe66dca0ddf7 but it doesn't seem to work actually 😕

armanbilge commented 2 years ago

I took another try at the Circe PR this afternoon. It works in Scala 3 but some form of INothing is needed for Scala 2.13. I guess we're stuck with it for now.