У меня есть структура с реализацией, как показано ниже:
use indicatif::ProgressBar;
pub struct Bar {
pb: ProgressBar,
}
impl Bar {
pub fn new(len: u32) -> Bar {
println!("Bar::new({})", len);
Bar {
pb: ProgressBar::new(len as u64),
}
}
pub fn increase(&self) {
println!("Bar::increase()");
self.pb.inc(1);
}
}
Когда я вызываю new
, тогда increase
функционирует последовательно, как показано ниже, ProgressBar не создается. Почему?
let bar = bar::Bar::new(10);
bar.increase();
С другой стороны, я могу успешно запустить этот код . Я новичок в Rust и не мог понять разницу между ними.