From 6f819e30e41dd0c0d91287e367469513edc8a56d Mon Sep 17 00:00:00 2001 From: David Lattimore Date: Fri, 8 Jul 2022 14:56:18 +1000 Subject: [PATCH] Remove unnecessary unsafe from format_args expansion --- .../src/macro_expansion_tests/builtin_fn_macro.rs | 12 +++--------- crates/hir-expand/src/builtin_fn_macro.rs | 8 +------- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/crates/hir-def/src/macro_expansion_tests/builtin_fn_macro.rs b/crates/hir-def/src/macro_expansion_tests/builtin_fn_macro.rs index a28478ff4d8d..92dffa7f372e 100644 --- a/crates/hir-def/src/macro_expansion_tests/builtin_fn_macro.rs +++ b/crates/hir-def/src/macro_expansion_tests/builtin_fn_macro.rs @@ -199,9 +199,7 @@ macro_rules! format_args { } fn main() { - unsafe { - std::fmt::Arguments::new_v1(&[], &[std::fmt::ArgumentV1::new(&(arg1(a, b, c)), std::fmt::Display::fmt), std::fmt::ArgumentV1::new(&(arg2), std::fmt::Display::fmt), ]) - }; + std::fmt::Arguments::new_v1(&[], &[std::fmt::ArgumentV1::new(&(arg1(a, b, c)), std::fmt::Display::fmt), std::fmt::ArgumentV1::new(&(arg2), std::fmt::Display::fmt), ]); } "##]], ); @@ -229,9 +227,7 @@ macro_rules! format_args { } fn main() { - unsafe { - std::fmt::Arguments::new_v1(&[], &[std::fmt::ArgumentV1::new(&(a::()), std::fmt::Display::fmt), std::fmt::ArgumentV1::new(&(b), std::fmt::Display::fmt), ]) - }; + std::fmt::Arguments::new_v1(&[], &[std::fmt::ArgumentV1::new(&(a::()), std::fmt::Display::fmt), std::fmt::ArgumentV1::new(&(b), std::fmt::Display::fmt), ]); } "##]], ); @@ -262,9 +258,7 @@ macro_rules! format_args { fn main() { let _ = /* parse error: expected field name or number */ -unsafe { - std::fmt::Arguments::new_v1(&[], &[std::fmt::ArgumentV1::new(&(a.), std::fmt::Display::fmt), ]) - }; +std::fmt::Arguments::new_v1(&[], &[std::fmt::ArgumentV1::new(&(a.), std::fmt::Display::fmt), ]); } "##]], ); diff --git a/crates/hir-expand/src/builtin_fn_macro.rs b/crates/hir-expand/src/builtin_fn_macro.rs index aa09912f302d..8e375228937b 100644 --- a/crates/hir-expand/src/builtin_fn_macro.rs +++ b/crates/hir-expand/src/builtin_fn_macro.rs @@ -261,13 +261,7 @@ fn format_args_expand( quote! { std::fmt::ArgumentV1::new(&(#arg), std::fmt::Display::fmt), } }.token_trees); let expanded = quote! { - // It's unsafe since https://github.com/rust-lang/rust/pull/83302 - // Wrap an unsafe block to avoid false-positive `missing-unsafe` lint. - // FIXME: Currently we don't have `unused_unsafe` lint so an extra unsafe block won't cause issues on early - // stable rust-src. - unsafe { - std::fmt::Arguments::new_v1(&[], &[##arg_tts]) - } + std::fmt::Arguments::new_v1(&[], &[##arg_tts]) }; ExpandResult::ok(expanded) }