clap/tests/derive_ui/value_parser_unsupported.stderr
Ed Page dc13365938 fix(derive): Improve unsupported field type error message
This is a bit more unconventional but I think its sufficient improvement
to readability to justify it.
2024-08-28 14:03:29 -05:00

42 lines
2.2 KiB
Text

error[E0599]: the method `value_parser` exists for reference `&&&&&&_infer_ValueParser_for<Custom>`, but its trait bounds were not satisfied
--> tests/derive_ui/value_parser_unsupported.rs:5:5
|
5 | foo: Custom,
| ^^^ method cannot be called on `&&&&&&_infer_ValueParser_for<Custom>` due to unsatisfied trait bounds
...
9 | struct Custom;
| ------------- doesn't satisfy 7 bounds
|
::: clap_builder/src/builder/value_parser.rs
|
| pub struct _infer_ValueParser_for<T>(std::marker::PhantomData<T>);
| ------------------------------------ doesn't satisfy `_: _impls_FromStr`
|
= note: the following trait bounds were not satisfied:
`Custom: ValueEnum`
which is required by `&&&&&_infer_ValueParser_for<Custom>: clap::builder::impl_prelude::_impls_ValueEnum`
`Custom: ValueParserFactory`
which is required by `&&&&&&_infer_ValueParser_for<Custom>: clap::builder::impl_prelude::_impls_ValueParserFactory`
`Custom: From<OsString>`
which is required by `&&&&_infer_ValueParser_for<Custom>: clap::builder::impl_prelude::_impls_From_OsString`
`Custom: From<&'s std::ffi::OsStr>`
which is required by `&&&_infer_ValueParser_for<Custom>: clap::builder::impl_prelude::_impls_From_OsStr`
`Custom: From<std::string::String>`
which is required by `&&_infer_ValueParser_for<Custom>: clap::builder::impl_prelude::_impls_From_String`
`Custom: From<&'s str>`
which is required by `&_infer_ValueParser_for<Custom>: clap::builder::impl_prelude::_impls_From_str`
`Custom: FromStr`
which is required by `_infer_ValueParser_for<Custom>: clap::builder::impl_prelude::_impls_FromStr`
note: the traits `From`, `FromStr`, `ValueEnum`, and `ValueParserFactory` must be implemented
--> clap_builder/src/builder/value_parser.rs
|
| pub trait ValueParserFactory {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
::: clap_builder/src/derive.rs
|
| pub trait ValueEnum: Sized + Clone {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
--> $RUST/core/src/convert/mod.rs
--> $RUST/core/src/str/traits.rs
= note: this error originates in the macro `clap::value_parser` (in Nightly builds, run with -Z macro-backtrace for more info)