diff options
-rw-r--r-- | src/dotty/tools/dotc/core/Flags.scala | 7 | ||||
-rw-r--r-- | tests/pos/selftypes.scala | 19 |
2 files changed, 6 insertions, 20 deletions
diff --git a/src/dotty/tools/dotc/core/Flags.scala b/src/dotty/tools/dotc/core/Flags.scala index 21ed04112..f9dae08e8 100644 --- a/src/dotty/tools/dotc/core/Flags.scala +++ b/src/dotty/tools/dotc/core/Flags.scala @@ -294,6 +294,11 @@ object Flags { /** A case parameter (or its accessor, or a GADT skolem) */ final val CaseAccessor = termFlag(26, "<caseaccessor>") + /** An type parameter which is an alias for some other (non-visible) type parameter */ + final val TypeArgument = typeFlag(26, "<type-param-inst>") + + final val CaseAccessorOrTypeArgument = CaseAccessor.toCommonFlags + /** A super accessor */ final val SuperAccessor = termFlag(27, "<superaccessor>") @@ -389,7 +394,7 @@ object Flags { final val FromStartFlags = AccessFlags | Module | Package | Deferred | Param | Scala2ExistentialCommon | Touched | Static | CovariantCommon | ContravariantCommon | ExpandedName | AccessorOrSealed | - Frozen | Erroneous | ImplicitCommon | Permanent + CaseAccessorOrTypeArgument | Frozen | Erroneous | ImplicitCommon | Permanent assert(FromStartFlags.isTermFlags && FromStartFlags.isTypeFlags) // TODO: Should check that FromStartFlags do not change in completion diff --git a/tests/pos/selftypes.scala b/tests/pos/selftypes.scala deleted file mode 100644 index 94e4a5760..000000000 --- a/tests/pos/selftypes.scala +++ /dev/null @@ -1,19 +0,0 @@ -object selftypes { - - trait LinearSeqLike[+A, +Repr <: LinearSeqLike[A, Repr]] { - self: Repr => - - type X - - def toX: X - - } - - abstract class LS[+A] extends LinearSeqLike[A, LS[A]] { - - } - - val x: LS[Int] = null - - x.toX -}
\ No newline at end of file |