I want to make a custom type that accepts any object implementing a trait that extends PartialEq.
// In the external crate
// Actual Type:-
// [webdriver::command::ExtensionCommand](https://docs.rs/webdriver/0.40.2/webdriver/command/enum.WebDriverExtensionCommand.html)
pub trait Foo: Send + Clone + PartialEq {}
// Actual Type:-
// [webdriver::command::WebDriverCommand](https://docs.rs/webdriver/0.40.2/webdriver/command/enum.WebDriverCommand.html)
pub struct Bar<T: Foo> {
    foo: T,
}
// In my crate
type BarTwo = Bar<Box<dyn Foo>>;
I can not change the trait or struct because these types are not in my crate. I can not use generic types for BarTwo.
Output
error[E0038]: the trait `Foo` cannot be made into an object
  --> src/lib.rs:12:23
   |
4  | pub trait Foo : Send + Clone + PartialEq{}
   |           ---                  --------- ...because it uses `Self` as a type parameter in this
   |           |
   |           this trait cannot be made into an object...
...
12 | type BarTwo = Bar<Box<dyn Foo>>;
   |                       ^^^^^^^ the trait `Foo` cannot be made into an object