@@ -3680,7 +3680,7 @@ object Types {
3680
3680
trait LambdaType extends BindingType with TermType { self =>
3681
3681
type ThisName <: Name
3682
3682
type PInfo <: Type
3683
- type This <: LambdaType {type PInfo = self.PInfo }
3683
+ type This >: this . type <: LambdaType {type PInfo = self.PInfo }
3684
3684
type ParamRefType <: ParamRef
3685
3685
3686
3686
def paramNames : List [ThisName ]
@@ -3738,7 +3738,7 @@ object Types {
3738
3738
3739
3739
final def derivedLambdaType (paramNames : List [ThisName ] = this .paramNames,
3740
3740
paramInfos : List [PInfo ] = this .paramInfos,
3741
- resType : Type = this .resType)(using Context ): LambdaType =
3741
+ resType : Type = this .resType)(using Context ): This =
3742
3742
if ((paramNames eq this .paramNames) && (paramInfos eq this .paramInfos) && (resType eq this .resType)) this
3743
3743
else newLikeThis(paramNames, paramInfos, resType)
3744
3744
@@ -3857,7 +3857,7 @@ object Types {
3857
3857
import DepStatus ._
3858
3858
type ThisName = TermName
3859
3859
type PInfo = Type
3860
- type This <: TermLambda
3860
+ type This >: this . type <: TermLambda
3861
3861
type ParamRefType = TermParamRef
3862
3862
3863
3863
override def resultType (using Context ): Type =
@@ -4154,7 +4154,7 @@ object Types {
4154
4154
trait TypeLambda extends LambdaType {
4155
4155
type ThisName = TypeName
4156
4156
type PInfo = TypeBounds
4157
- type This <: TypeLambda
4157
+ type This >: this . type <: TypeLambda
4158
4158
type ParamRefType = TypeParamRef
4159
4159
4160
4160
def isResultDependent (using Context ): Boolean = true
0 commit comments