Как читать ограничения типа B в where с двумя 'a?
where B: 'a + ToOwned + 'a + ?Sized,
https://doc.rust-lang.org/std/borrow/enum.Cow.html
Это опечатка в документации. https://doc.rust-lang.org/src/alloc/borrow.rs.html#170-182