aboutsummaryrefslogtreecommitdiff
path: root/tests/untried/pos/t8301b.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/untried/pos/t8301b.scala')
-rw-r--r--tests/untried/pos/t8301b.scala36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/untried/pos/t8301b.scala b/tests/untried/pos/t8301b.scala
new file mode 100644
index 000000000..5641547c1
--- /dev/null
+++ b/tests/untried/pos/t8301b.scala
@@ -0,0 +1,36 @@
+// cf. pos/t8300-patmat.scala
+trait Universe {
+ type Name >: Null <: AnyRef with NameApi
+ trait NameApi
+
+ type TermName >: Null <: TermNameApi with Name
+ trait TermNameApi extends NameApi
+}
+
+object Test extends App {
+ val u: Universe = ???
+ import u._
+
+ val ScalaName: TermName = ???
+ locally {
+
+ ??? match {
+ case Test.ScalaName => ???
+ }
+ import Test.ScalaName._
+
+ ??? match {
+ case ScalaName => ???
+ }
+ import ScalaName._
+
+ // both the pattern and import led to
+ // stable identifier required, but SN found. Note that value SN
+ // is not stable because its type, Test.u.TermName, is volatile.
+ val SN = ScalaName
+ ??? match {
+ case SN => ???
+ }
+ import SN._
+ }
+}