@@ -24,27 +24,17 @@ class UnusedChecks extends MiniPhase {
24
24
25
25
/* Tree transform */
26
26
27
- override def transformTypeDef (tree : TypeDef )(implicit ctx : Context ): tree.type = {
28
- if (tree.symbol.is(UnusedType ))
29
- ctx.error(tree.symbol.showKind + " cannot be unused" , tree.pos)
30
- tree
31
- }
32
-
33
27
override def transformApply (tree : Apply )(implicit ctx : Context ): tree.type = {
34
28
if (! isUnusedContext && ! tree.symbol.is(Unused ) && ! tree.fun.tpe.widen.isUnusedMethod)
35
29
tree.args.foreach(arg => checked(arg)(arg, " Cannot use `unused` value in a context that is not `unused`" ))
36
30
tree
37
31
}
38
32
39
33
override def transformDefDef (tree : DefDef )(implicit ctx : Context ): tree.type = {
40
- checkUnusedNothing(tree)
41
34
checkedValOrDefDefRHS(tree)
42
35
}
43
36
44
37
override def transformValDef (tree : ValDef )(implicit ctx : Context ): tree.type = {
45
- checkUnusedNothing(tree)
46
- if (tree.symbol.is(Unused ) && tree.symbol.is(MutableOrLazy ))
47
- ctx.error(tree.symbol.showKind + " cannot be unused" , tree.pos)
48
38
checkedValOrDefDefRHS(tree)
49
39
}
50
40
@@ -66,12 +56,6 @@ class UnusedChecks extends MiniPhase {
66
56
67
57
/* private methods */
68
58
69
- /** Check that unused values are not of type Nothing */
70
- private def checkUnusedNothing (tree : Tree )(implicit ctx : Context ): Unit = {
71
- if (tree.symbol.is(Unused ) && tree.tpe.widen.finalResultType.isBottomType)
72
- ctx.error(" unused " + tree.symbol.showKind + " cannot have type Nothing" , tree.pos)
73
- }
74
-
75
59
/** Check that the expression is not a reference to an unused value */
76
60
private def checkedValOrDefDefRHS (tree : ValOrDefDef )(implicit ctx : Context ): tree.type =
77
61
if (tree.symbol.is(Unused )) tree
0 commit comments