Rustで`P` cannot be formatted with the default formatterと言われる場合の対応

error[E0277]: `P` doesn't implement `std::fmt::Display`
--> src/main.rs:263:22
|
263 |         print!("{}", path);
|                      ^^^^ `P` cannot be formatted with the default formatter
|
= help: the trait `std::fmt::Display` is not implemented for `P`
= note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
= help: consider adding a `where P: std::fmt::Display` bound
= note: required by `std::fmt::Display::fmt`

デフォルトフォーマッターではフォーマットができない。Pには実装されていない。{:?}もしくはプリティに出力するなら{:#?}を使う。もしくはPになんかしたら?みたいなことが書いているように見える、多分。この時同時に対象の構造体には#{drive(Debug)]を付与するらしい。

#[derive(Debug)]
struct Hoge {
num: u32,
num2: u32,
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA