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

error missing-override

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

Метод скрывает open-метод без override.

What it means#

If an outer type declares a method with the same name as an open fn of an embedded type, it MUST say override and repeat the signature exactly (§4.7). Silent shadowing would change dispatch without the reader noticing.

Example#

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

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

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"
}

Add override, or rename the method if overriding was not intended.

See also#

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