File tree Expand file tree Collapse file tree 3 files changed +31
-4
lines changed
compiler/src/dotty/tools/dotc/core Expand file tree Collapse file tree 3 files changed +31
-4
lines changed Original file line number Diff line number Diff line change @@ -592,8 +592,8 @@ object Flags {
592592 /** Assumed to be pure */
593593 final val StableOrErased : FlagSet = StableRealizable | Erased
594594
595- /** Labeled `private`, `final`, or `inline ` */
596- final val EffectivelyFinal : FlagSet = Private | Final | Inline
595+ /** Labeled `private`, or `final ` */
596+ final val EffectivelyFinal : FlagSet = Private | Final
597597
598598 /** A private method */
599599 final val PrivateMethod : FlagConjunction = allOf(Private , Method )
Original file line number Diff line number Diff line change @@ -6,8 +6,8 @@ object Test {
66 }
77
88 object B extends A {
9- inline def f () = $ { ' {}} // error: may not override
10- override def g () = () // error: may not override
9+ override inline def f () = () // error: method f of type (): Unit is an inline method, must override at least one concrete method
10+ override def g () = ()
1111 }
1212
1313}
Original file line number Diff line number Diff line change 1+ object Test {
2+
3+ abstract class A {
4+ inline def f1 (): String = " A.f1"
5+ inline def f2 (): String = " A.f2"
6+ def f3 (): String = " A.f3"
7+ }
8+
9+ object B extends A {
10+ override def f1 (): String = " B.f1"
11+ override inline def f2 (): String = " B.f2"
12+ override inline def f3 (): String = " B.f3"
13+ }
14+
15+ def main (args : Array [String ]): Unit = {
16+ val a : A = B
17+ assert(a.f1() == " A.f1" )
18+ assert(a.f2() == " A.f2" )
19+ assert(a.f3() == " A.f3" )
20+
21+ val b : B .type = B
22+ assert(b.f1() == " B.f1" )
23+ assert(b.f2() == " B.f2" )
24+ assert(b.f3() == " B.f3" )
25+ }
26+
27+ }
You can’t perform that action at this time.
0 commit comments