File tree Expand file tree Collapse file tree 1 file changed +8
-4
lines changed
compiler/src/dotty/tools/dotc/core Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -30,6 +30,7 @@ import Hashable.*
3030import Uniques .*
3131import collection .mutable
3232import config .Config
33+ import config .Feature
3334import config .Feature .sourceVersion
3435import config .SourceVersion
3536import annotation .{tailrec , constructorOnly }
@@ -6465,10 +6466,13 @@ object Types extends TypeUtils {
64656466 mapCapturingType(tp, parent, refs, variance)
64666467
64676468 case tp @ AnnotatedType (underlying, annot) =>
6468- val underlying1 = this (underlying)
6469- val annot1 = annot.mapWith(this )
6470- if annot1 eq EmptyAnnotation then underlying1
6471- else derivedAnnotatedType(tp, underlying1, annot1)
6469+ if annot.symbol.isRetainsLike && ! Feature .ccEnabledSomewhere then
6470+ this (underlying) // strip retains like annotations unless capture checking is enabled
6471+ else
6472+ val underlying1 = this (underlying)
6473+ val annot1 = annot.mapWith(this )
6474+ if annot1 eq EmptyAnnotation then underlying1
6475+ else derivedAnnotatedType(tp, underlying1, annot1)
64726476
64736477 case _ : ThisType
64746478 | _ : BoundType
You can’t perform that action at this time.
0 commit comments