These are constructors for str, but they live in the core::str module. This means I always need a use core::str import in order to call them as str::from_utf8 (or fully qualify them).
I believe they could be made associated functions on the str type without breakage, the same way the integer constants where moved from modules to the primitive types.
For slice it's a matter of generic name; many people disagree and would prefer writing e.g. ptr::from_ref to <*const _>::from_ref that requires using the less familiar qualified paths syntax. slice:: is intended to read as if it were <[_]>:: with less symbol soup.