error[E0277]: `<T as pallet::Config>::Bar` doesn't implement `std::fmt::Debug`
  --> tests/pallet_ui/call_argument_invalid_bound_2.rs:20:36
   |
20 |         pub fn foo(origin: OriginFor<T>, bar: T::Bar) -> DispatchResultWithPostInfo {
   |                                          ^^^ `<T as pallet::Config>::Bar` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
   |
   = help: the trait `std::fmt::Debug` is not implemented for `<T as pallet::Config>::Bar`
   = note: required because of the requirements on the impl of `std::fmt::Debug` for `&<T as pallet::Config>::Bar`
   = note: required for the cast to the object type `dyn std::fmt::Debug`

error[E0277]: the trait bound `<T as pallet::Config>::Bar: Clone` is not satisfied
   --> tests/pallet_ui/call_argument_invalid_bound_2.rs:20:36
    |
20  |         pub fn foo(origin: OriginFor<T>, bar: T::Bar) -> DispatchResultWithPostInfo {
    |                                          ^^^ the trait `Clone` is not implemented for `<T as pallet::Config>::Bar`
    |
note: required by `clone`
   --> $RUST/core/src/clone.rs
    |
    |     fn clone(&self) -> Self;
    |     ^^^^^^^^^^^^^^^^^^^^^^^^

error[E0369]: binary operation `==` cannot be applied to type `&<T as pallet::Config>::Bar`
  --> tests/pallet_ui/call_argument_invalid_bound_2.rs:20:36
   |
20 |         pub fn foo(origin: OriginFor<T>, bar: T::Bar) -> DispatchResultWithPostInfo {
   |                                          ^^^
   |
help: consider further restricting this bound
   |
17 |     #[pallet::call + std::cmp::PartialEq]
   |                    +++++++++++++++++++++

error[E0277]: the trait bound `<T as pallet::Config>::Bar: WrapperTypeEncode` is not satisfied
   --> tests/pallet_ui/call_argument_invalid_bound_2.rs:1:1
    |
1   |   #[frame_support::pallet]
    |   ^-----------------------
    |   |
    |  _in this procedural macro expansion
    | |
2   | | mod pallet {
3   | |     use frame_support::pallet_prelude::{Hooks, DispatchResultWithPostInfo};
4   | |     use frame_system::pallet_prelude::{BlockNumberFor, OriginFor};
...   |
16  | |
17  | |     #[pallet::call]
    | |__________________^ the trait `WrapperTypeEncode` is not implemented for `<T as pallet::Config>::Bar`
    |
    = note: required because of the requirements on the impl of `Encode` for `<T as pallet::Config>::Bar`
note: required by a bound in `encode_to`
   --> $CARGO/parity-scale-codec-2.3.1/src/codec.rs
    |
    |     fn encode_to<T: Output + ?Sized>(&self, dest: &mut T) {
    |                     ^^^^^^ required by this bound in `encode_to`
    = note: this error originates in the derive macro `frame_support::codec::Encode` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `<T as pallet::Config>::Bar: WrapperTypeDecode` is not satisfied
   --> tests/pallet_ui/call_argument_invalid_bound_2.rs:20:36
    |
20  |         pub fn foo(origin: OriginFor<T>, bar: T::Bar) -> DispatchResultWithPostInfo {
    |                                          ^^^ the trait `WrapperTypeDecode` is not implemented for `<T as pallet::Config>::Bar`
    |
    = note: required because of the requirements on the impl of `Decode` for `<T as pallet::Config>::Bar`
note: required by a bound in `parity_scale_codec::Decode::decode`
   --> $CARGO/parity-scale-codec-2.3.1/src/codec.rs
    |
    |     fn decode<I: Input>(input: &mut I) -> Result<Self, Error>;
    |                  ^^^^^ required by this bound in `parity_scale_codec::Decode::decode`
