From 8158279b556bc9f39d59adadefeb85d44c93433e Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Tue, 9 Feb 2016 13:22:07 +0100 Subject: Simplify logic in matchNamed --- src/dotty/tools/dotc/typer/Checking.scala | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/dotty/tools/dotc/typer/Checking.scala') diff --git a/src/dotty/tools/dotc/typer/Checking.scala b/src/dotty/tools/dotc/typer/Checking.scala index fec5b86f8..7e279b9e4 100644 --- a/src/dotty/tools/dotc/typer/Checking.scala +++ b/src/dotty/tools/dotc/typer/Checking.scala @@ -56,12 +56,11 @@ object Checking { case AppliedTypeTree(tycon, args) => // If `args` is a list of named arguments, return corresponding type parameters, // otherwise return type parameters unchanged - def matchNamed(tparams: List[TypeSymbol], args: List[Tree]): List[Symbol] = args match { - case (_: NamedArg) :: _ => + def matchNamed(tparams: List[TypeSymbol], args: List[Tree]): List[Symbol] = + if (hasNamedArg(args)) for (NamedArg(name, _) <- args) yield tycon.tpe.member(name).symbol - case _ => + else tparams - } val tparams = matchNamed(tycon.tpe.typeSymbol.typeParams, args) val bounds = tparams.map(tparam => tparam.info.asSeenFrom(tycon.tpe.normalizedPrefix, tparam.owner.owner).bounds) -- cgit v1.2.3