Когда у меня реализовано перечисление с Display
, и я пытаюсь напечатать его в формате, ширина, которую я даю, игнорируется.
use std::fmt;
enum TestEnum {
A,
B,
}
impl fmt::Display for TestEnum {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match self {
TestEnum::A => write!(f, "A"),
TestEnum::B => write!(f, "B"),
}
}
}
fn main() {
println!("-{value:>width$}-", value = TestEnum::A, width = 3);
}
Я ожидаю, что он выведет - A-
, но он выдаст-A-
.
Если я заменяю значение на фактическую строку вместо перечисления, это делает правильно,
println!("-{value:>width$}-", value = "A", width = 3);
выводит
- A-
Почемуширина игнорируется?Что мне нужно сделать по-другому?