1fad3a1d3Sopenharmony_ci#![allow(clippy::uninlined_format_args)]
2fad3a1d3Sopenharmony_ci
3fad3a1d3Sopenharmony_ci#[macro_use]
4fad3a1d3Sopenharmony_cimod macros;
5fad3a1d3Sopenharmony_ci
6fad3a1d3Sopenharmony_ciuse syn::{Expr, Item};
7fad3a1d3Sopenharmony_ci
8fad3a1d3Sopenharmony_ci#[test]
9fad3a1d3Sopenharmony_cifn test_async_fn() {
10fad3a1d3Sopenharmony_ci    let input = "async fn process() {}";
11fad3a1d3Sopenharmony_ci
12fad3a1d3Sopenharmony_ci    snapshot!(input as Item, @r###"
13fad3a1d3Sopenharmony_ci    Item::Fn {
14fad3a1d3Sopenharmony_ci        vis: Visibility::Inherited,
15fad3a1d3Sopenharmony_ci        sig: Signature {
16fad3a1d3Sopenharmony_ci            asyncness: Some,
17fad3a1d3Sopenharmony_ci            ident: "process",
18fad3a1d3Sopenharmony_ci            generics: Generics,
19fad3a1d3Sopenharmony_ci            output: ReturnType::Default,
20fad3a1d3Sopenharmony_ci        },
21fad3a1d3Sopenharmony_ci        block: Block {
22fad3a1d3Sopenharmony_ci            stmts: [],
23fad3a1d3Sopenharmony_ci        },
24fad3a1d3Sopenharmony_ci    }
25fad3a1d3Sopenharmony_ci    "###);
26fad3a1d3Sopenharmony_ci}
27fad3a1d3Sopenharmony_ci
28fad3a1d3Sopenharmony_ci#[test]
29fad3a1d3Sopenharmony_cifn test_async_closure() {
30fad3a1d3Sopenharmony_ci    let input = "async || {}";
31fad3a1d3Sopenharmony_ci
32fad3a1d3Sopenharmony_ci    snapshot!(input as Expr, @r###"
33fad3a1d3Sopenharmony_ci    Expr::Closure {
34fad3a1d3Sopenharmony_ci        asyncness: Some,
35fad3a1d3Sopenharmony_ci        output: ReturnType::Default,
36fad3a1d3Sopenharmony_ci        body: Expr::Block {
37fad3a1d3Sopenharmony_ci            block: Block {
38fad3a1d3Sopenharmony_ci                stmts: [],
39fad3a1d3Sopenharmony_ci            },
40fad3a1d3Sopenharmony_ci        },
41fad3a1d3Sopenharmony_ci    }
42fad3a1d3Sopenharmony_ci    "###);
43fad3a1d3Sopenharmony_ci}
44