Closed erikerlandson closed 5 years ago
cc @SethTisue @johnynek
Merging #221 into master will decrease coverage by
0.88%
. The diff coverage is42.85%
.
@@ Coverage Diff @@
## master #221 +/- ##
==========================================
- Coverage 76.4% 75.52% -0.89%
==========================================
Files 42 42
Lines 958 960 +2
Branches 68 45 -23
==========================================
- Hits 732 725 -7
- Misses 226 235 +9
Impacted Files | Coverage Δ | |
---|---|---|
core/src/main/scala/algebra/instances/map.scala | 48% <ø> (-12%) |
:arrow_down: |
...e/src/main/scala/algebra/ring/Multiplicative.scala | 49.15% <42.85%> (-1.8%) |
:arrow_down: |
core/src/main/scala/algebra/ring/Additive.scala | 40.67% <42.85%> (-2.18%) |
:arrow_down: |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update f5f6a96...e01adf3. Read the comment docs.
I think the remaining snag here is the tut plugin, which isn't built w/ 2.13
https://github.com/tpolecat/tut/issues/238 seems to indicate otherwise?
the tut
plugin dep is via sbt-microsites
and that is using 0.6.6
, which is a couple revs behind
weird, I just pushed commit 0ff4081 above but CI isn't kicking off
It's like github is mis-interpreting the sequence of events up there. I'm going to try squashing and force push to see if that helps.
IIUC, I think I clobbered the test coverage of trySum
when I removed the overrides for the Semigroup combineAll
. Going to add property tests for trySum
to restore coverage
@johnynek we are green
Just an observation - this change should be transparent to anybody using the package but it's a breaking change for anybody who is writing their own algebra typeclasses against it.
Another possible approach to fixing this is to keep the TraversableOnce
signature for improved binary compatability, but for 2.13 include a compatability shim like type TraversableOnce[A] IterableOnce[A]
Or conversely define everything as IterableOnce
and use type IterableOnce[A] TraversableOnce[A]
for pre 2.13
bump
So, if cats kernel is still using TraversableOnce, why do we have to change this one?
@johnynek TraversableOnce does not exist in 2.13
This current draft is based on: https://github.com/typelevel/algebra/issues/219#issuecomment-437602401
But we can rework it
@erikerlandson but, what does cats have? did they just kill that method in cats.kernel, which we depend on...
we should really move this into the cats repo as cats-algebra
. That will simplify this.
@kailuowang any concerns about that?
This repo predated cats, half of it became cats-kernel and we have talked about moving this in before as a new module.
I was getting compile fails, but possibly TraversableOnce
is just deprecated: https://github.com/scala/scala-collection-compat/issues/44 and maybe this is from -Xfatal-warnings
?
@johnynek to answer your question, cats appears to still be making use of TraversableOnce
+1 on moving it into cats
so there would be no algebra-0.8, but instead some cats-algebra release?
I'm going to close this, since it sounds like the issue will be resolved by porting to a subproject of cats.
Changes introduced in this PR:
TraversableOnce
, replace with signatures forIterable
andIterator
The dependencies on
Semigroup
,Monoid
and friends fromcats
involved overriding methods likecombineAllOption
, which are still build usingTraversableOnce
. I removed the overrides and just let their default implementations apply.