РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
613 of 1245 menu

Макрос unimplemented!

Макрос unimplemented! помечает участок кода как ещё не реализованный. При выполнении макрос паникует с сообщением "not implemented". Параметром макрос может принимать пользовательское сообщение, которое будет выведено при панике.

Синтаксис

unimplemented!() unimplemented!("message") unimplemented!("message {}", arg)

Пример

Давайте вызовем макрос unimplemented! без параметров:

fn main() { unimplemented!(); }

Результат выполнения кода:

thread 'main' panicked at 'not implemented'

Пример

Давайте вызовем макрос unimplemented! с пользовательским сообщением:

fn main() { unimplemented!("function is not ready yet"); }

Результат выполнения кода:

thread 'main' panicked at 'function is not ready yet'

Пример

Давайте используем макрос unimplemented! внутри функции, чтобы обозначить ещё не готовую ветку логики:

fn divide(a: i32, b: i32) -> i32 { if b == 0 { unimplemented!("division by zero is not handled yet"); } a / b } fn main() { let res = divide(10, 2); println!("{}", res); }

Результат выполнения кода:

5

Смотрите также

  • макрос todo!,
    который помечает код как запланированный к реализации
  • макрос panic!,
    который вызывает панику с указанным сообщением
  • макрос unreachable!,
    который помечает недостижимый участок кода
  • метод unwrap,
    который извлекает значение из Option или Result
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить