From ed0f2af66baaac91b9ee62fed0eab1fb22559336 Mon Sep 17 00:00:00 2001 From: Martin Duhem Date: Wed, 27 Apr 2016 10:33:02 +0200 Subject: [PATCH] Fix warning with Scala 2.11 We get a warning about the exhaustivity check, but the warning disappears if we increase the maximum recursion depth. --- .../librarymanagement/RepositoriesParser.scala | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/librarymanagement/src/main/scala/sbt/internal/librarymanagement/RepositoriesParser.scala b/librarymanagement/src/main/scala/sbt/internal/librarymanagement/RepositoriesParser.scala index 852c6d0f4..1f56dbb6f 100644 --- a/librarymanagement/src/main/scala/sbt/internal/librarymanagement/RepositoriesParser.scala +++ b/librarymanagement/src/main/scala/sbt/internal/librarymanagement/RepositoriesParser.scala @@ -50,10 +50,14 @@ private[sbt] object RepositoriesParser { name ~ ": " ~ basicUri ~ (separator ~> ivyPattern).? ~ (separator ~> afterPattern).? map { case name ~ ": " ~ uri ~ None ~ _ => new MavenRepository(name, uri.toURL) - case name ~ ": " ~ uri ~ Some(ivy) ~ None => - new IvyRepository(name, uri.toURL, ivy, ivy, false, false, false, false) - case name ~ ": " ~ uri ~ Some(ivy) ~ Some(AfterPattern(artifactPattern, Flags(dOpt, sc, bo, mc))) => - new IvyRepository(name, uri.toURL, ivy, artifactPattern getOrElse ivy, mc, sc, dOpt, bo) + case name ~ ": " ~ uri ~ Some(ivy) ~ ap => + // scalac complains about the recursion depth if we pattern match over `ap` directly. + ap match { + case Some(AfterPattern(artifactPattern, Flags(dOpt, sc, bo, mc))) => + new IvyRepository(name, uri.toURL, ivy, artifactPattern getOrElse ivy, mc, sc, dOpt, bo) + case None => + new IvyRepository(name, uri.toURL, ivy, ivy, false, false, false, false) + } } def resolver: Parser[xsbti.Repository] =