diagnostics: tweak error message to give more rationale to unsafe Fn

This commit is contained in:
Michael Howell
2022-04-05 11:13:48 -07:00
parent dcf7ce8356
commit 6d18fbbc3f
5 changed files with 23 additions and 20 deletions

View File

@@ -61,8 +61,9 @@
),
on(
_Self = "unsafe fn",
note = "unsafe function cannot be called generically without an unsafe block",
// SAFETY: tidy is not smart enough to tell that the below unsafe block is a string
note = "unsafe functions must be wrapped in closures: `|| unsafe {{ /* code */ }}`"
label = "call the function in a closure: `|| unsafe {{ /* code */ }}`"
),
message = "expected a `{Fn}<{Args}>` closure, found `{Self}`",
label = "expected an `Fn<{Args}>` closure, found `{Self}`"
@@ -146,8 +147,9 @@ pub trait Fn<Args>: FnMut<Args> {
),
on(
_Self = "unsafe fn",
note = "unsafe function cannot be called generically without an unsafe block",
// SAFETY: tidy is not smart enough to tell that the below unsafe block is a string
note = "unsafe functions must be wrapped in closures: `|| unsafe {{ /* code */ }}`"
label = "call the function in a closure: `|| unsafe {{ /* code */ }}`"
),
message = "expected a `{FnMut}<{Args}>` closure, found `{Self}`",
label = "expected an `FnMut<{Args}>` closure, found `{Self}`"
@@ -223,8 +225,9 @@ pub trait FnMut<Args>: FnOnce<Args> {
),
on(
_Self = "unsafe fn",
note = "unsafe function cannot be called generically without an unsafe block",
// SAFETY: tidy is not smart enough to tell that the below unsafe block is a string
note = "unsafe functions must be wrapped in closures: `|| unsafe {{ /* code */ }}`"
label = "call the function in a closure: `|| unsafe {{ /* code */ }}`"
),
message = "expected a `{FnOnce}<{Args}>` closure, found `{Self}`",
label = "expected an `FnOnce<{Args}>` closure, found `{Self}`"