The section on Object Safety defines that concept with a list of bullet points. That list does not include the case when the trait takes Self as a type parameter, but that is included as an example below the list.
// Not object safe if `Self` is a type argument.
I suggest adding a bullet of
- A generic parameter of this trait, or any of its supertraits, is not specified to be
Self
together with an expanded example to show that this applies even when Self: ?Sized. An example of this in action is PartialEq not being object safe.
If I get the thumbs-up I'll make a PR