tree-sitters/rust/test/corpus/async.txt

89 lines
2.1 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
(expression_statement
(await_expression
(identifier)))
(expression_statement
(try_expression
(await_expression
(identifier))))
(expression_statement
(try_expression
(await_expression
(try_expression
(await_expression
(identifier))))))
(expression_statement
(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
(expression_statement
(async_block
(block)))
(expression_statement
(async_block
(block
(let_declaration
(identifier)
(integer_literal)))))
(expression_statement
(async_block
(block))))