Skip to content

Commit e05633d

Browse files
committed
Non-final implicit classes in stdlib-bootstrapped
1 parent 916d4e7 commit e05633d

File tree

2 files changed

+2
-4
lines changed

2 files changed

+2
-4
lines changed

compiler/src/dotty/tools/dotc/ast/Desugar.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -811,12 +811,13 @@ object desugar {
811811
// TODO: drop this once we do not silently insert empty class parameters anymore
812812
case paramss => paramss
813813
}
814+
val finalFlag = if ctx.settings.Yscala2Stdlib.value then EmptyFlags else Final
814815
// implicit wrapper is typechecked in same scope as constructor, so
815816
// we can reuse the constructor parameters; no derived params are needed.
816817
DefDef(
817818
className.toTermName, joinParams(constrTparams, defParamss),
818819
classTypeRef, creatorExpr)
819-
.withMods(companionMods | mods.flags.toTermFlags & (GivenOrImplicit | Inline) | Final)
820+
.withMods(companionMods | mods.flags.toTermFlags & (GivenOrImplicit | Inline) | finalFlag)
820821
.withSpan(cdef.span) :: Nil
821822
}
822823

project/TastyMiMaFilters.scala

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,6 @@ object TastyMiMaFilters {
118118
ProblemMatcher.make(ProblemKind.MissingTermMember, "scala.collection.convert.JavaCollectionWrappers.IterableWrapperTrait.iterator"),
119119
ProblemMatcher.make(ProblemKind.IncompatibleTypeChange, "scala.util.matching.Regex.MatchIterator.replacementData"),
120120

121-
// Problem: implicit class (method should not be final)
122-
ProblemMatcher.make(ProblemKind.FinalMember, "scala.collection.convert.*.*"),
123-
124121
// Problem: implicit class
125122
ProblemMatcher.make(ProblemKind.MissingTermMember, "scala.collection.generic.IsIterableLowPriority.is*LikeIsIterable"),
126123
ProblemMatcher.make(ProblemKind.MissingTermMember, "scala.collection.generic.IsIterableOnce.iterableOnceIsIterableOnce"),

0 commit comments

Comments
 (0)