Skip to content

Commit e21270b

Browse files
committed
Auto merge of #6608 - rail-rain:note_on_as_conversions, r=phansch
Add a note to `as_conversions` I have seen a couple of examples where there are some misunderstandings of `as_conversions` ([1](#5890 (comment)), [2](#6116 (comment)) and [3](#6428)). This PR adds the note that explains its purpose and relationship with other `as` related casts. Open question: should I list every related lints for discoverbility, or just suggest how to find these? I chose the former because there's no way to list only and all `as` related lints (e.g. on All the Clippt Lints, 'cast' includes some noises, but `cast_` excludes some) even though I cannot guarantee the list will be updated to include future changes. --- changelog: Add a note to the document of `as_conversions`
2 parents ab1020b + c53192c commit e21270b

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

clippy_lints/src/as_conversions.rs

+8
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@ use crate::utils::span_lint_and_help;
88
declare_clippy_lint! {
99
/// **What it does:** Checks for usage of `as` conversions.
1010
///
11+
/// Note that this lint is specialized in linting *every single* use of `as`
12+
/// regardless of whether good alternatives exist or not.
13+
/// If you want more precise lints for `as`, please consider using these separate lints:
14+
/// `unnecessary_cast`, `cast_lossless/possible_truncation/possible_wrap/precision_loss/sign_loss`,
15+
/// `fn_to_numeric_cast(_with_truncation)`, `char_lit_as_u8`, `ref_to_mut` and `ptr_as_ptr`.
16+
/// There is a good explanation the reason why this lint should work in this way and how it is useful
17+
/// [in this issue](https://github.com/rust-lang/rust-clippy/issues/5122).
18+
///
1119
/// **Why is this bad?** `as` conversions will perform many kinds of
1220
/// conversions, including silently lossy conversions and dangerous coercions.
1321
/// There are cases when it makes sense to use `as`, so the lint is

0 commit comments

Comments
 (0)