@@ -156,8 +156,8 @@ object RefChecks {
156
156
* 1.8.1 M's type is a subtype of O's type, or
157
157
* 1.8.2 M is of type []S, O is of type ()T and S <: T, or
158
158
* 1.8.3 M is of type ()S, O is of type []T and S <: T, or
159
- * 1.9.1 If M or O are erased, they must both be erased
160
- * 1.9.2 If M or O are extension methods, they must both be extension methods
159
+ * 1.9.1 If M is erased, O is erased. If O is erased, M is erased or inline.
160
+ * 1.9.2 If M or O are extension methods, they must both be extension methods.
161
161
* 1.10 If M is an inline or Scala-2 macro method, O cannot be deferred unless
162
162
* there's also a concrete method that M overrides.
163
163
* 1.11. If O is a Scala-2 macro, M must be a Scala-2 macro.
@@ -394,7 +394,7 @@ object RefChecks {
394
394
overrideError(" must be declared lazy to override a lazy value" )
395
395
} else if (member.is(Erased ) && ! other.is(Erased )) { // (1.9.1)
396
396
overrideError(" is erased, cannot override non-erased member" )
397
- } else if (other.is(Erased ) && ! member.is(Erased )) { // (1.9.1)
397
+ } else if (other.is(Erased ) && ! member.is(Erased | Inline )) { // (1.9.1)
398
398
overrideError(" is not erased, cannot override erased member" )
399
399
} else if (member.is(Extension ) && ! other.is(Extension )) { // (1.9.2)
400
400
overrideError(" is an extension method, cannot override a normal method" )
0 commit comments