Skip to content

Commit 46dd5ba

Browse files
committed
Add test
1 parent 92116dc commit 46dd5ba

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

compiler/src/dotty/tools/dotc/transform/init/Checker.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ class Checker extends Phase {
3636
units.foreach { unit => traverser.traverse(unit.tpdTree) }
3737
val classes = traverser.getConcreteClasses()
3838

39-
Semantic.checkClasses(classes)(using checkCtx)
4039
ParamOverridingCheck.checkClasses(classes)(using checkCtx)
40+
Semantic.checkClasses(classes)(using checkCtx)
4141

4242
units
4343

tests/init/neg/class-param.check

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
-- Error: tests/init/neg/class-param.scala:7:15 ------------------------------------------------------------------------
2+
7 | override val y: Int = 20 // error: overriding parameter with non-parameter
3+
| ^^^^^^^^^^^^^^^^^^^^^^^^
4+
| Overriding parameter value y in class B as non-parameter in class C

tests/init/neg/class-param.scala

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
class A(x: Int)
2+
3+
class B(val y: Int) extends A(y):
4+
println(y) // no warning, parameter access
5+
6+
class C extends B(10):
7+
override val y: Int = 20 // error: overriding parameter with non-parameter

0 commit comments

Comments
 (0)