# On why await shouldn't be a method

**URL:** <https://internals.rust-lang.org/t/on-why-await-shouldnt-be-a-method/10010>\
**Category:** language design\
**Created:** [May 4, 2019, 8:49pm UTC](https://internals.rust-lang.org/t/on-why-await-shouldnt-be-a-method/10010 "2019-05-04T20:49:51Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![mgeisler](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/mgeisler/32/2041_2.png) [@mgeisler](https://internals.rust-lang.org/u/mgeisler)\
**Post date:** [May 4, 2019, 8:51pm UTC](https://internals.rust-lang.org/t/on-why-await-shouldnt-be-a-method/10010/2 "2019-05-04T20:51:56Z")

</div>

The above is mostly based on my experience with async/await in Python where the new syntax was created after the community had experienced with co-routines implemented via `yield`. There it’s clear how the thread of control goes up and down the call stack. In case Rust async/await works completely differently, then I’ll be happy to be enlightened 🙂

---

_[View the full topic](https://internals.rust-lang.org/t/on-why-await-shouldnt-be-a-method/10010)._
