Skip to content

Commit c419aa9

Browse files
committed
Auto merge of #12719 - davidlattimore:format-args-no-unsafe, r=jonas-schievink
Remove unnecessary unsafe from format_args expansion
2 parents 7181a39 + 6f819e3 commit c419aa9

File tree

2 files changed

+4
-16
lines changed

2 files changed

+4
-16
lines changed

crates/hir-def/src/macro_expansion_tests/builtin_fn_macro.rs

+3-9
Original file line numberDiff line numberDiff line change
@@ -199,9 +199,7 @@ macro_rules! format_args {
199199
}
200200
201201
fn main() {
202-
unsafe {
203-
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), ])
204-
};
202+
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), ]);
205203
}
206204
"##]],
207205
);
@@ -229,9 +227,7 @@ macro_rules! format_args {
229227
}
230228
231229
fn main() {
232-
unsafe {
233-
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), ])
234-
};
230+
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), ]);
235231
}
236232
"##]],
237233
);
@@ -262,9 +258,7 @@ macro_rules! format_args {
262258
fn main() {
263259
let _ =
264260
/* parse error: expected field name or number */
265-
unsafe {
266-
std::fmt::Arguments::new_v1(&[], &[std::fmt::ArgumentV1::new(&(a.), std::fmt::Display::fmt), ])
267-
};
261+
std::fmt::Arguments::new_v1(&[], &[std::fmt::ArgumentV1::new(&(a.), std::fmt::Display::fmt), ]);
268262
}
269263
"##]],
270264
);

crates/hir-expand/src/builtin_fn_macro.rs

+1-7
Original file line numberDiff line numberDiff line change
@@ -261,13 +261,7 @@ fn format_args_expand(
261261
quote! { std::fmt::ArgumentV1::new(&(#arg), std::fmt::Display::fmt), }
262262
}.token_trees);
263263
let expanded = quote! {
264-
// It's unsafe since https://github.com/rust-lang/rust/pull/83302
265-
// Wrap an unsafe block to avoid false-positive `missing-unsafe` lint.
266-
// FIXME: Currently we don't have `unused_unsafe` lint so an extra unsafe block won't cause issues on early
267-
// stable rust-src.
268-
unsafe {
269-
std::fmt::Arguments::new_v1(&[], &[##arg_tts])
270-
}
264+
std::fmt::Arguments::new_v1(&[], &[##arg_tts])
271265
};
272266
ExpandResult::ok(expanded)
273267
}

0 commit comments

Comments
 (0)