diff options
author | Martin Odersky <odersky@gmail.com> | 2015-12-07 13:48:44 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-12-14 14:30:07 +0100 |
commit | 25f38589093dc070c400e9767474faf5fb4fc075 (patch) | |
tree | 1fc1810b03ea2a8265630f06333270240de855da /src | |
parent | 083b949f5710d363859892cb94fa60527e7516cd (diff) | |
download | dotty-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')
-rw-r--r-- | src/dotty/tools/dotc/typer/VarianceChecker.scala | 2 |
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})" |