# Async / Await syntax straw poll

**URL:** <https://internals.rust-lang.org/t/async-await-syntax-straw-poll/9954>\
**Category:** language design\
**Created:** [April 30, 2019, 10:34pm UTC](https://internals.rust-lang.org/t/async-await-syntax-straw-poll/9954 "2019-04-30T22:34:41Z")\
**Posts on this page:** 1\
**Showing post:** 16

<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:** [May 2, 2019, 4:44pm UTC](https://internals.rust-lang.org/t/async-await-syntax-straw-poll/9954/16 "2019-05-02T16:44:23Z")

</div>

> [@Uther](#):
>
> The `try` to question mark transition was hard

How/why exactly was it hard? AFAICT it was not the least bit. An operator was defined with a superset of the semantics of `try!()` (which, being a superset, was just the same initially), then it got stabilized, then people learnt to write new code with `?` instead of `try!` and hopefully they gradually rewrote / are rewriting old code. Of course discussion happened around `?`, but not because it wasn't there from the beginning.

There's not much burden in "supporting" the `try!` macro either: it's simply not changed and… pretty much that's it. It still works and there's no reason why it would break out of the blue.

---

_[View the full topic](https://internals.rust-lang.org/t/async-await-syntax-straw-poll/9954)._
