Макрос todo!
Макрос todo! используется в качестве заглушки
для кода, который ещё не написан. При вызове он
немедленно вызывает панику с сообщением
"not yet implemented". Макрос может принимать
необязательный аргумент - строку с пояснением,
которая будет добавлена к сообщению паники.
Макрос todo! удобно использовать во время
разработки, когда нужно обозначить место, которое
будет реализовано позже. В отличие от unimplemented!,
он семантически указывает именно на запланированную,
но ещё не выполненную работу.
Синтаксис
todo!()
todo!("сообщение")
Пример
Давайте вызовем макрос todo! без аргументов
и посмотрим, что произойдёт:
fn main()
{
println!("start");
todo!();
}
Результат выполнения кода:
start
thread 'main' panicked at 'not yet implemented'
Пример
Давайте вызовем макрос todo! с текстовым
сообщением:
fn main()
{
todo!("implement calculation");
}
Результат выполнения кода:
thread 'main' panicked at 'not yet implemented: implement calculation'
Пример
Давайте используем todo! в функции, которая
ещё не реализована, но уже вызывается из основной
программы:
fn calculate(a: i32, b: i32) -> i32
{
todo!("calculate sum of {} and {}", a, b);
}
fn main()
{
let res = calculate(1, 2);
println!("{}", res);
}
Результат выполнения кода:
thread 'main' panicked at 'not yet implemented: calculate sum of 1 and 2'
Смотрите также
-
макрос
unimplemented!,
который помечает ещё не реализованную функциональность -
макрос
panic!,
который немедленно вызывает панику с сообщением -
макрос
unreachable!,
который помечает недостижимый код -
макрос
debug_assert!,
который проверяет условие только в debug-сборке