diff options
| author | Lukas Markeffsky <@> | 2023-06-06 23:28:15 +0200 |
|---|---|---|
| committer | Lukas Markeffsky <@> | 2023-06-06 23:28:15 +0200 |
| commit | 4bf00613eedd086189afeb59856ac39a1642775a (patch) | |
| tree | 7168ae5793da8091127358f3de91009f05db04b5 /compiler | |
| parent | 3572d7451d1062e8bccf310af6bbf6255091d296 (diff) | |
| download | rust-4bf00613eedd086189afeb59856ac39a1642775a.tar.gz rust-4bf00613eedd086189afeb59856ac39a1642775a.zip | |
Fix ICE for nested test function with arguments.
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/rustc_builtin_macros/src/test.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/compiler/rustc_builtin_macros/src/test.rs b/compiler/rustc_builtin_macros/src/test.rs index 49ee276af4e..af8e92ef886 100644 --- a/compiler/rustc_builtin_macros/src/test.rs +++ b/compiler/rustc_builtin_macros/src/test.rs @@ -122,11 +122,7 @@ pub fn expand_test_or_bench( let ast::ItemKind::Fn(fn_) = &item.kind else { not_testable_error(cx, attr_sp, Some(&item)); return if is_stmt { - vec![Annotatable::Stmt(P(ast::Stmt { - id: ast::DUMMY_NODE_ID, - span: item.span, - kind: ast::StmtKind::Item(item), - }))] + vec![Annotatable::Stmt(P(cx.stmt_item(item.span, item)))] } else { vec![Annotatable::Item(item)] }; @@ -138,7 +134,11 @@ pub fn expand_test_or_bench( if (!is_bench && !has_test_signature(cx, &item)) || (is_bench && !has_bench_signature(cx, &item)) { - return vec![Annotatable::Item(item)]; + return if is_stmt { + vec![Annotatable::Stmt(P(cx.stmt_item(item.span, item)))] + } else { + vec![Annotatable::Item(item)] + }; } let sp = cx.with_def_site_ctxt(item.span); |
