The trait-level documentation accurately describes this method, but the function-level documentation imples that an implementer should overwrite the entire buf, rather than just the unfilled portion.