After reading Book Ch-10 I was slightly confused about the term blanket implementations (which I assumed meant for all types, but they presented it with bounded params, so I wasn't sure.)
It distinguishes clearly (and hopefully correctly) between generic implementation and blanket implementation.
impl<T> Trait for T
They usually also have where clauses involved since it is very hard to do anything useful to an unconstrained T . This does not cover things like impl<T> Trait for Vec<T> , which is a generic implementation but not a blanket implementation.
But explains much more. Maybe some find it useful.
Side note: I wish Rust Docs could fold those sections. That would make it easier to change from blanket ones to trait ones, without scrolling either in the main page, or in the sidebar.
Basically all sections should be foldable imho. Currently one can only set it to fold function descriptions either in settings or pressing -.
Maybe there is some other way people navigate it, that isn't scrolling sidebar or main content page?
Blanket Impl: Any implementation where a type appears uncovered. impl<T> Foo for T, impl<T> Bar<T> for T, impl<T> Bar<Vec<T>> for T, and impl<T> Bar<T> for Vec<T> are considered blanket impls. However, impl<T> Bar<Vec<T>> for Vec<T> is not a blanket impl, as all instances of T which appear in this impl are covered by Vec.
(The other definitions are required to get the full picture, e.g. Box<T> is not covered.)
When it comes to the orphan rules, and what constitutes a SemVer incompatible change, that is the definition which matters. But note that it is not the definition used everywhere.
As noted, it's not uncommon to call any generic implementation a blanket implementation (I've probably been guilty of doing this casually myself)
It's also not uncommon to only mean that the implementor is uncovered, which seems to be the gist of the SO answer, the book, and some other replies in this thread
and probably to not call out that Box<T>, etc, are not covered
Whatever rustdoc's definition is, it is not the orphan rules definition, given where this is documented