From 73ec2ab184f6d8828ebcdca418a7ae83bb60b0bc Mon Sep 17 00:00:00 2001 From: Emil Lauridsen Date: Fri, 7 Feb 2020 13:51:51 +0100 Subject: Update async unsafe fn ordering. As of rust-lang/rust#61319 the correct order for functions that are both unsafe and async is: `async unsafe fn` and not `unsafe async fn`. This commit updates the parser tests to reflect this, and corrects parsing behavior to accept the correct ordering. Fixes #3025 --- .../test_data/parser/inline/err/0010_wrong_order_fns.rs | 2 +- .../test_data/parser/inline/err/0010_wrong_order_fns.txt | 12 ++++++------ .../test_data/parser/inline/ok/0128_combined_fns.rs | 2 +- .../test_data/parser/inline/ok/0128_combined_fns.txt | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) (limited to 'crates/ra_syntax') diff --git a/crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.rs b/crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.rs index 16edee95d..731e58013 100644 --- a/crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.rs +++ b/crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.rs @@ -1,2 +1,2 @@ -async unsafe fn foo() {} +unsafe async fn foo() {} unsafe const fn bar() {} diff --git a/crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.txt b/crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.txt index 2ea6a566d..289193b9e 100644 --- a/crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.txt +++ b/crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.txt @@ -1,9 +1,9 @@ SOURCE_FILE@[0; 50) - ERROR@[0; 5) - ASYNC_KW@[0; 5) "async" - WHITESPACE@[5; 6) " " - FN_DEF@[6; 24) - UNSAFE_KW@[6; 12) "unsafe" + ERROR@[0; 6) + UNSAFE_KW@[0; 6) "unsafe" + WHITESPACE@[6; 7) " " + FN_DEF@[7; 24) + ASYNC_KW@[7; 12) "async" WHITESPACE@[12; 13) " " FN_KW@[13; 15) "fn" WHITESPACE@[15; 16) " " @@ -37,5 +37,5 @@ SOURCE_FILE@[0; 50) L_CURLY@[47; 48) "{" R_CURLY@[48; 49) "}" WHITESPACE@[49; 50) "\n" -error 5: expected existential, fn, trait or impl +error 6: expected existential, fn, trait or impl error 31: expected existential, fn, trait or impl diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.rs b/crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.rs index 46af91b82..126287145 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.rs +++ b/crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.rs @@ -1,2 +1,2 @@ -unsafe async fn foo() {} +async unsafe fn foo() {} const unsafe fn bar() {} diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.txt b/crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.txt index cae75c41d..8a972cdb2 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.txt +++ b/crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.txt @@ -1,8 +1,8 @@ SOURCE_FILE@[0; 50) FN_DEF@[0; 24) - UNSAFE_KW@[0; 6) "unsafe" - WHITESPACE@[6; 7) " " - ASYNC_KW@[7; 12) "async" + ASYNC_KW@[0; 5) "async" + WHITESPACE@[5; 6) " " + UNSAFE_KW@[6; 12) "unsafe" WHITESPACE@[12; 13) " " FN_KW@[13; 15) "fn" WHITESPACE@[15; 16) " " -- cgit v1.2.3