OxL Справочник OxL
РусскийEnglish

error override-without-open

error Стандарт: [§4.7]

override для метода, не объявленного как open.

What it means#

Only a method declared open fn in the embedded type can be overridden (§4.7). Using override on a method that is not open, or that does not exist in the embedded type, is an error.

Example#

oxl✓ проверяется в CI
data Animal { name: str }
impl Animal {
  fn speak() -> str => "..."
}

data Dog { embed Animal; breed: str }
impl Dog {
  override fn speak() -> str => "Woof"      // <- override-without-open
}
error
override-without-open

How to fix#

oxl✓ проверяется в CI
data Animal { name: str }
impl Animal {
  open fn speak() -> str => "..."
}

data Dog { embed Animal; breed: str }
impl Dog {
  override fn speak() -> str => "Woof"
}

Declare the method open fn in the embedded type (if you own it), or drop override and use a differently named method.

See also#

OxL 1.0.0-beta · Версия документации 1.0.0-beta© OxwaldLink · сгенерировано из Стандарта, исходников std и руководства