aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/typer/VarianceChecker.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-12-07 13:48:44 +0100
committerMartin Odersky <odersky@gmail.com>2015-12-14 14:30:07 +0100
commit25f38589093dc070c400e9767474faf5fb4fc075 (patch)
tree1fc1810b03ea2a8265630f06333270240de855da /src/dotty/tools/dotc/typer/VarianceChecker.scala
parent083b949f5710d363859892cb94fa60527e7516cd (diff)
downloaddotty-25f38589093dc070c400e9767474faf5fb4fc075.tar.gz
dotty-25f38589093dc070c400e9767474faf5fb4fc075.tar.bz2
dotty-25f38589093dc070c400e9767474faf5fb4fc075.zip
Disregard BaseTypeArg parameters when variance checking.
Allows us to compile immutable.Set.
Diffstat (limited to 'src/dotty/tools/dotc/typer/VarianceChecker.scala')
-rw-r--r--src/dotty/tools/dotc/typer/VarianceChecker.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/typer/VarianceChecker.scala b/src/dotty/tools/dotc/typer/VarianceChecker.scala
index 86b1676c5..26882b6f4 100644
--- a/src/dotty/tools/dotc/typer/VarianceChecker.scala
+++ b/src/dotty/tools/dotc/typer/VarianceChecker.scala
@@ -60,7 +60,7 @@ class VarianceChecker()(implicit ctx: Context) {
/** Check variance of abstract type `tvar` when referred from `base`. */
private def checkVarianceOfSymbol(tvar: Symbol): Option[VarianceError] = {
val relative = relativeVariance(tvar, base)
- if (relative == Bivariant) None
+ if (relative == Bivariant || tvar.is(BaseTypeArg)) None
else {
val required = compose(relative, this.variance)
def tvar_s = s"$tvar (${varianceString(tvar.flags)} ${tvar.showLocated})"