From 9276a1205f74fdec74206209712831913e93f359 Mon Sep 17 00:00:00 2001 From: Lukas Rytz Date: Tue, 26 Aug 2014 17:38:19 +0200 Subject: SI-8627 make Stream.filterNot non-eager The obvious fix, overriding `filterNot` in Stream, is not binary compatible, see https://github.com/scala/scala/pull/3925 Instead, this makes `filterImpl` in TaversableLike private[scala], which allows overriding it in Stream. The corresponding mima-failures can be whitelisted, as the changes are only to private[scala]. In 2.12.x we can remove the override of `filter` in Stream, but in 2.11.x this is not binary compatible. Eventually we'd also like to make filter / filterNot in TraversableLike final, but that's not source compatible, so it cannot be done in 2.12.x. --- bincompat-backward.whitelist.conf | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'bincompat-backward.whitelist.conf') diff --git a/bincompat-backward.whitelist.conf b/bincompat-backward.whitelist.conf index ffacbf0442..1c48887b63 100644 --- a/bincompat-backward.whitelist.conf +++ b/bincompat-backward.whitelist.conf @@ -185,6 +185,15 @@ filter { { matchName="scala.reflect.runtime.SynchronizedOps.newNestedScope" problemName=MissingMethodProblem + }, + // see github.com/scala/scala/pull/3925, SI-8627, SI-6440 + { + matchName="scala.collection.TraversableLike.filterImpl" + problemName=MissingMethodProblem + }, + { + matchName="scala.collection.immutable.Stream.filteredTail" + problemName=MissingMethodProblem } ] } -- cgit v1.2.3