|  | //@ edition:2015 | 
|  |  | 
|  | async fn foo() {} //~ ERROR `async fn` is not permitted in Rust 2015 | 
|  |  | 
|  | fn baz() { async fn foo() {} } //~ ERROR `async fn` is not permitted in Rust 2015 | 
|  |  | 
|  | async fn async_baz() { //~ ERROR `async fn` is not permitted in Rust 2015 | 
|  | async fn bar() {} //~ ERROR `async fn` is not permitted in Rust 2015 | 
|  | } | 
|  |  | 
|  | struct Foo {} | 
|  |  | 
|  | impl Foo { | 
|  | async fn foo() {} //~ ERROR `async fn` is not permitted in Rust 2015 | 
|  | } | 
|  |  | 
|  | trait Bar { | 
|  | async fn foo() {} //~ ERROR `async fn` is not permitted in Rust 2015 | 
|  | } | 
|  |  | 
|  | fn main() { | 
|  | macro_rules! accept_item { ($x:item) => {} } | 
|  |  | 
|  | accept_item! { | 
|  | async fn foo() {} //~ ERROR `async fn` is not permitted in Rust 2015 | 
|  | } | 
|  |  | 
|  | accept_item! { | 
|  | impl Foo { | 
|  | async fn bar() {} //~ ERROR `async fn` is not permitted in Rust 2015 | 
|  | } | 
|  | } | 
|  |  | 
|  | let inside_closure = || { | 
|  | async fn bar() {} //~ ERROR `async fn` is not permitted in Rust 2015 | 
|  | }; | 
|  | } |