Because it isn’t a one-bit integral type. It’s a boolean logic value. It’s a completely different domain.
I mean, you could argue that every type in Rust is just [i1; N] for some N, so obviously we should be able to slice a String and get an f32. But that would defeat the point of having a strong type system in the first place.
1 is no more “true” than 4, or 17, or 9275 or -8, or "banana" or vec!["coconuts", "coconuts"] or even 0. Don’t forget that 0 is “true” in the UNIX shell.
“But what about the existence of Into<Vec<u8>> for String?”
… shut up, me.