File tree Expand file tree Collapse file tree 2 files changed +24
-1
lines changed
compiler/src/dotty/tools/dotc/typer
tests/neg-custom-args/no-experimental Expand file tree Collapse file tree 2 files changed +24
-1
lines changed Original file line number Diff line number Diff line change @@ -1339,7 +1339,18 @@ class RefChecks extends MiniPhase { thisPhase =>
13391339 }
13401340
13411341 override def transformTypeTree (tree : TypeTree )(using Context ): TypeTree = {
1342- checkExperimental(tree.symbol, tree.srcPos)
1342+ object CheckExperimental extends TypeTraverser {
1343+ def traverse (tp : Type ): Unit =
1344+ tp match {
1345+ case tp : TypeRef =>
1346+ checkExperimental(tp.symbol, tree.srcPos)
1347+ case tp : TermRef =>
1348+ checkExperimental(tp.symbol, tree.srcPos)
1349+ case _ =>
1350+ traverseChildren(tp)
1351+ }
1352+ }
1353+ CheckExperimental .traverse(tree.tpe)
13431354 tree
13441355 }
13451356
Original file line number Diff line number Diff line change 1+ import annotation .experimental
2+
3+ @ experimental trait Exp
4+ @ experimental val exp = 1
5+
6+ type Foo0 = Exp // error
7+ type Foo = Option [Exp ] // error
8+ type Bar = Option [exp.type ] // error
9+ type Baz = Exp | Int // error
10+ type Quux = [X ] =>> X match // error
11+ case Exp => Int
12+ type Quuz [A <: Exp ] = Int // error
You can’t perform that action at this time.
0 commit comments