Typed that out too fast, yes, that's my problem. * String is one thing but String.deref() is another. But * is the dereference operator. Operator overloading ftw ;)
Sorry, yes, I actually opened an issue with my suggestions regarding that one with particular focus on the fallible vs infallible nature: https://github.com/rust-lang/rfcs/issues/2143
They're the same thing, Deref::deref() is just the operation which underlies the dereferencing operator.
Either way I don't see what's problematic about a string buffer deref'ing to a string.