File tree Expand file tree Collapse file tree 2 files changed +25
-1
lines changed
compiler/src/dotty/tools/dotc/typer
tests/neg-custom-args/no-experimental Expand file tree Collapse file tree 2 files changed +25
-1
lines changed Original file line number Diff line number Diff line change @@ -1339,7 +1339,19 @@ 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+ traverseChildren(tp)
1353+ }
1354+ CheckExperimental .traverse(tree.tpe)
13431355 tree
13441356 }
13451357
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