diff options
author | Martin Odersky <odersky@gmail.com> | 2016-07-11 18:05:36 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2016-07-12 18:14:04 +0200 |
commit | cdebd91712b36b048233d7cf9501cc7a5bb50b31 (patch) | |
tree | 35d3ee5d8800e958640916cd0145def1f5726751 /src/dotty/tools | |
parent | 1792c9e9bcff1feba7b50a24a46e1e20d8a39d9b (diff) | |
download | dotty-cdebd91712b36b048233d7cf9501cc7a5bb50b31.tar.gz dotty-cdebd91712b36b048233d7cf9501cc7a5bb50b31.tar.bz2 dotty-cdebd91712b36b048233d7cf9501cc7a5bb50b31.zip |
Allow definition of new types in refinements
Allow definition of types in refinements that do not appear
in parent type.
Diffstat (limited to 'src/dotty/tools')
-rw-r--r-- | src/dotty/tools/dotc/typer/Typer.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/typer/Typer.scala b/src/dotty/tools/dotc/typer/Typer.scala index da176427a..62d356e3d 100644 --- a/src/dotty/tools/dotc/typer/Typer.scala +++ b/src/dotty/tools/dotc/typer/Typer.scala @@ -913,7 +913,7 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit typr.println(s"adding refinement $refinement") checkRefinementNonCyclic(refinement, refineCls, seen) val rsym = refinement.symbol - if ((rsym.is(Method) || rsym.isType) && rsym.allOverriddenSymbols.isEmpty) + if (rsym.is(Method) && rsym.allOverriddenSymbols.isEmpty) ctx.error(i"refinement $rsym without matching type in parent $parent", refinement.pos) val rinfo = if (rsym is Accessor) rsym.info.resultType else rsym.info RefinedType(parent, rsym.name, rinfo) |