/// ```
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_on_unimplemented(
- on(crate_local, label="`{Self}` cannot be formatted using `:?`; \
- add `#[derive(Debug)]` or manually implement `{Debug}`"),
+ on(crate_local, label="`{Self}` cannot be formatted using `{{:?}}`",
+ note="add `#[derive(Debug)]` or manually implement `{Debug}`"),
message="`{Self}` doesn't implement `{Debug}`",
- label="`{Self}` cannot be formatted using `:?` because it doesn't implement `{Debug}`",
+ label="`{Self}` cannot be formatted using `{{:?}}` because it doesn't implement `{Debug}`",
)]
#[doc(alias = "{:?}")]
#[lang = "debug_trait"]
/// ```
#[rustc_on_unimplemented(
message="`{Self}` doesn't implement `{Display}`",
- label="`{Self}` cannot be formatted with the default formatter; \
- try using `:?` instead if you are using a format string",
+ label="`{Self}` cannot be formatted with the default formatter",
+ note="in format strings you may be able to use `{{:?}}` \
+ (or {{:#?}} for pretty-print) instead",
)]
#[doc(alias = "{}")]
#[stable(feature = "rust1", since = "1.0.0")]
--> $DIR/no-debug.rs:20:27
|
LL | println!("{:?} {:?}", Foo, Bar);
- | ^^^ `Foo` cannot be formatted using `:?`; add `#[derive(Debug)]` or manually implement `std::fmt::Debug`
+ | ^^^ `Foo` cannot be formatted using `{:?}`
|
= help: the trait `std::fmt::Debug` is not implemented for `Foo`
+ = note: add `#[derive(Debug)]` or manually implement `std::fmt::Debug`
= note: required by `std::fmt::Debug::fmt`
error[E0277]: `no_debug::Bar` doesn't implement `std::fmt::Debug`
--> $DIR/no-debug.rs:20:32
|
LL | println!("{:?} {:?}", Foo, Bar);
- | ^^^ `no_debug::Bar` cannot be formatted using `:?` because it doesn't implement `std::fmt::Debug`
+ | ^^^ `no_debug::Bar` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
|
= help: the trait `std::fmt::Debug` is not implemented for `no_debug::Bar`
= note: required by `std::fmt::Debug::fmt`
--> $DIR/no-debug.rs:21:23
|
LL | println!("{} {}", Foo, Bar);
- | ^^^ `Foo` cannot be formatted with the default formatter; try using `:?` instead if you are using a format string
+ | ^^^ `Foo` cannot be formatted with the default formatter
|
= help: the trait `std::fmt::Display` is not implemented for `Foo`
+ = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
= note: required by `std::fmt::Display::fmt`
error[E0277]: `no_debug::Bar` doesn't implement `std::fmt::Display`
--> $DIR/no-debug.rs:21:28
|
LL | println!("{} {}", Foo, Bar);
- | ^^^ `no_debug::Bar` cannot be formatted with the default formatter; try using `:?` instead if you are using a format string
+ | ^^^ `no_debug::Bar` cannot be formatted with the default formatter
|
= help: the trait `std::fmt::Display` is not implemented for `no_debug::Bar`
+ = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
= note: required by `std::fmt::Display::fmt`
error: aborting due to 4 previous errors