mirror of https://github.com/Wilfred/difftastic/
72 lines
1.4 KiB
Plaintext
72 lines
1.4 KiB
Plaintext
============================================
|
|
Async function
|
|
============================================
|
|
|
|
async fn abc() {}
|
|
|
|
async fn main() {
|
|
let x = futures.await?;
|
|
}
|
|
|
|
---
|
|
|
|
(source_file
|
|
(function_item
|
|
(function_modifiers)
|
|
(identifier)
|
|
(parameters)
|
|
(block))
|
|
(function_item (function_modifiers) (identifier) (parameters)
|
|
(block
|
|
(let_declaration (identifier) (try_expression
|
|
(await_expression (identifier)))))))
|
|
|
|
============================================
|
|
Await expression
|
|
============================================
|
|
|
|
futures.await;
|
|
futures.await?;
|
|
futures.await?.await?;
|
|
futures.await?.function().await?;
|
|
|
|
---
|
|
|
|
(source_file
|
|
(await_expression (identifier))
|
|
(try_expression
|
|
(await_expression (identifier)))
|
|
(try_expression
|
|
(await_expression
|
|
(try_expression
|
|
(await_expression (identifier)))))
|
|
(try_expression
|
|
(await_expression
|
|
(call_expression
|
|
(field_expression
|
|
(try_expression
|
|
(await_expression (identifier)))
|
|
(field_identifier))
|
|
(arguments)))))
|
|
|
|
============================================
|
|
Async Block
|
|
============================================
|
|
|
|
async {}
|
|
async { let x = 10; }
|
|
async move {}
|
|
|
|
---
|
|
|
|
(source_file
|
|
(async_block
|
|
(block))
|
|
(async_block
|
|
(block
|
|
(let_declaration
|
|
(identifier)
|
|
(integer_literal))))
|
|
(async_block
|
|
(block)))
|