The docs are a tad misleading but the important piece is to look at the signature. The `where P: Pattern<'a>` portion states that split needs a type that implements the Pattern trait. If you follow the link to the Pattern trait then at the bottom you'll see a section[0] listing types implementing the trait (&[char] being one) and therefore can be passed into split. Hope that helps!
"The pattern can be a &str, char, or a closure that determines the split."
But in your case it is an array of chars and it splits for each of them. I don't see this documented at all.