diff options
| author | bors <bors@rust-lang.org> | 2022-07-08 14:10:19 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-07-08 14:10:19 +0000 |
| commit | c419aa9775bbbb877ae699f7520b4b1c77406996 (patch) | |
| tree | 58244a2805338a755c0e7b37dba4f948c4449fde | |
| parent | 7181a39d4c3456c6ce9e16899d7b1b60982bea09 (diff) | |
| parent | 6f819e30e41dd0c0d91287e367469513edc8a56d (diff) | |
| download | rust-c419aa9775bbbb877ae699f7520b4b1c77406996.tar.gz rust-c419aa9775bbbb877ae699f7520b4b1c77406996.zip | |
Auto merge of #12719 - davidlattimore:format-args-no-unsafe, r=jonas-schievink
Remove unnecessary unsafe from format_args expansion
| -rw-r--r-- | crates/hir-def/src/macro_expansion_tests/builtin_fn_macro.rs | 12 | ||||
| -rw-r--r-- | 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 a28478ff4d8..92dffa7f372 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::<A, B>()), std::fmt::Display::fmt), std::fmt::ArgumentV1::new(&(b), std::fmt::Display::fmt), ]) - }; + std::fmt::Arguments::new_v1(&[], &[std::fmt::ArgumentV1::new(&(a::<A, B>()), 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 c3a9091ee79..76da7c9f1ee 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) } |
