# Add an easier way to append \`T: Display\` to \`String\` to stdlib?

**URL:** <https://internals.rust-lang.org/t/add-an-easier-way-to-append-t-display-to-string-to-stdlib/10607>\
**Category:** libs\
**Created:** [July 20, 2019, 1:25pm UTC](https://internals.rust-lang.org/t/add-an-easier-way-to-append-t-display-to-string-to-stdlib/10607 "2019-07-20T13:25:45Z")\
**Posts on this page:** 1\
**Showing post:** 20

<div class="post-metadata">

**Author:** ![H2CO3](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/h2co3/32/2849_2.png) [@H2CO3](https://internals.rust-lang.org/u/H2CO3)\
**Post date:** [July 26, 2019, 8:36pm UTC](https://internals.rust-lang.org/t/add-an-easier-way-to-append-t-display-to-string-to-stdlib/10607/20 "2019-07-26T20:36:07Z")

</div>

> [@josh](#):
>
> Why is Display not allowed to fail?

If I interpret [this earlier explanation](https://internals.rust-lang.org/t/format-to-string-does-not-panic-on-std-fmt-error-intentional-or-not/) correctly, it's that formatting is by itself considered an infallible operation (and thus `Display` impls aren't supposed to produce errors on their own), but there is one reason it might fail: if an error is generated in the underlying writer itself, which only needs to be able to be _propagated,_ hence the `Result` return type. However, writing to a memory buffer is expected never to fail.

---

_[View the full topic](https://internals.rust-lang.org/t/add-an-easier-way-to-append-t-display-to-string-to-stdlib/10607)._
