I think the first question is: which of the two should be the nicer readable type?
I consider it somehow wrong, that now the type for holding paths in data structures and returning them by value is now ‘PathBuf’, instead of previously ‘Path’.
So all data structures and also somehow all APIs will have to pay this price.
I don’t see a lot of APIs having to use ‘PathSlice’, because for arguments ‘AsPath’ can be used, and ‘PathSlice’ will most likely be used inside of functions, so the “uglier” name IMHO should be used where it’s more hidden from the API user.