From 0ff5354e2a5e3f29234d6d761177f9228d8da522 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Wed, 13 Jul 2016 13:58:51 +0200 Subject: Simplify variance computations --- src/dotty/tools/dotc/core/Types.scala | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/dotty/tools/dotc/core/Types.scala b/src/dotty/tools/dotc/core/Types.scala index d1e5ba47d..284e9535e 100644 --- a/src/dotty/tools/dotc/core/Types.scala +++ b/src/dotty/tools/dotc/core/Types.scala @@ -3422,9 +3422,7 @@ object Types { case tp: HKApply => def mapArg(arg: Type, tparam: TypeParamInfo): Type = { val saved = variance - val pvariance = tparam.paramVariance - if (pvariance < 0) variance = -variance - else if (pvariance == 0) variance = 0 + variance *= tparam.paramVariance try this(arg) finally variance = saved } @@ -3638,9 +3636,7 @@ object Types { else { val tparam = tparams.head val saved = variance - val pvariance = tparam.paramVariance - if (pvariance < 0) variance = -variance - else if (pvariance == 0) variance = 0 + variance *= tparam.paramVariance val acc = try this(x, args.head) finally variance = saved -- cgit v1.2.3