This is tracking a regression from #1112, where slice::deserialize_hex_or_bin was changed to return Result<(), D::Error> instead of Result<&[u8], D::Error>.
Notably this API is intended for use cases where the amount of deserialized data can vary, and may be shorter than the provided buffer parameter. The ability to handle messages shorter than buffer has been lost.
See #1112 (comment)