To learn more about how Higher-ranked trait bounds work in the old trait solver, see this chapter of the rustc-guide.

To learn more about how they work in the new trait solver, see this chapter.