File tree Expand file tree Collapse file tree 2 files changed +40
-15
lines changed
compiler/src/dotty/tools/dotc/core
tests/neg-custom-args/isInstanceOf Expand file tree Collapse file tree 2 files changed +40
-15
lines changed Original file line number Diff line number Diff line change @@ -86,7 +86,7 @@ object Annotations {
8686 myTree.asInstanceOf [Tree ]
8787
8888 override def isEvaluating : Boolean = myTree == null
89- override def isEvaluated : Boolean = myTree.isInstanceOf [Tree ]
89+ override def isEvaluated : Boolean = myTree.isInstanceOf [Tree @ unchecked ]
9090 }
9191
9292 /** An annotation indicating the body of a right-hand side,
@@ -119,7 +119,7 @@ object Annotations {
119119 myTree.asInstanceOf [Tree ]
120120
121121 override def isEvaluating : Boolean = myTree == null
122- override def isEvaluated : Boolean = myTree.isInstanceOf [Tree ]
122+ override def isEvaluated : Boolean = myTree.isInstanceOf [Tree @ unchecked ]
123123 }
124124
125125 object LazyBodyAnnotation {
Original file line number Diff line number Diff line change 1- trait Tree
2- trait Context
3-
4- def foo (myTree : Tree | (Context => Tree )) =
5- println(myTree.isInstanceOf [Tree ])
6- myTree match
7- case treeFn : (Context => Tree ) => // error
8- case _ =>
9-
10- def bar (myTree : Tree | (Context => Tree )) =
11- myTree match
12- case treeFn : (_ => _) => // ok
13- case _ =>
1+ object Test1 {
2+ trait Tree
3+ trait Context
4+
5+ def foo1 (myTree : Tree | (Context => Tree )) =
6+ println(myTree.isInstanceOf [Tree ])
7+
8+ def foo2 (myTree : Tree | (Context => Tree )) =
9+ myTree match
10+ case treeFn : (Context => Tree ) => // error
11+ case _ =>
12+
13+ def foo3 (myTree : Tree | (Context => Tree )) =
14+ myTree match
15+ case treeFn : (_ => _) => // ok
16+ case _ =>
17+ }
18+
19+ object Test2 {
20+ trait Tree [- T ]
21+ trait Context
22+
23+ trait Type
24+
25+ def foo1 (myTree : Tree [Type ] | (Context => Tree [Type ])) =
26+ println(myTree.isInstanceOf [Tree [Type ]]) // error
27+ /* class DummyTree extends Tree[Nothing] with (Context => Tree[Type]) */
28+
29+ def foo2 (myTree : Tree [Type ] | (Context => Tree [Type ])) =
30+ myTree match
31+ case treeFn : (Context => Tree [Type ]) => // error
32+ case _ =>
33+
34+ def foo3 (myTree : Tree [Type ] | (Context => Tree [Type ])) =
35+ myTree match
36+ case treeFn : (_ => _) => // ok
37+ case _ =>
38+ }
You can’t perform that action at this time.
0 commit comments