Hello I found a Sync is required in the following line:
I saw in the git history there was a runSomething method but it鈥檚 now removed. Is the Sync still appropriate here? I could not find side effects.
[My understanding of the code is still poor though]
I have two intuitions:
Applicative is sufficientWould you like to give it a try and submit a PR if you can find a looser constraint that works?
the Sync is required for compile.toVector.
At the moment fs2 requires Sync for compilation of Streams whose effects are not Pure/Fallible, which we will be keen to remove but haven't figured out how yet.
If you really don't like Sync, you can use a Compiler evidence, but that will require 2 type params so I don't think it's desirable
I will close this issue, but do keep on reporting this sort of thing, because it _does_ happen fairly often that there are overly strong constraints due to old code :)
Most helpful comment
the
Syncis required forcompile.toVector.At the moment fs2 requires
Syncfor compilation of Streams whose effects are notPure/Fallible, which we will be keen to remove but haven't figured out how yet.If you really don't like
Sync, you can use aCompilerevidence, but that will require 2 type params so I don't think it's desirable