Skip to content

Commit 14f3d05

Browse files
committed
Auto merge of #8432 - dtolnay-contrib:transmuteundefinedrepr2, r=Manishearth
Transmute_undefined_repr to nursery again This PR reinstates #8418, which was reverted in #8425 (incorrectly I think). I don't want to start a revert war over this but I feel very strongly that this lint is not in a state that would be a net benefit to users of clippy. In its current form, making this an enabled-by-default `correctness` lint with authoritative-sounding proclamations of undefined behavior does more harm than the benefit of the true positive cases. I can file a bunch more examples of false positives but I don't want to give the author of this lint the impression that it is ready to graduate from `nursery` as soon as I've exhausted the amount of time I am willing to spend revising this lint. Instead I would recommend that the author of the lint try running it on some reputable codebases containing transmutes. Everywhere that the lint triggers please consider critically whether it should be triggering. For cases that you think are true positives, please raise a few of them with the crate authors (in a PR or issue) to better understand their perspective if they think the transmute is correct. --- *Please write a short comment explaining your change (or "none" for internal only changes)* changelog: Re-remove [`transmute_undefined_repr`] from default set of enabled lints
2 parents 1a25d19 + fd9dd04 commit 14f3d05

File tree

4 files changed

+2
-3
lines changed

4 files changed

+2
-3
lines changed

clippy_lints/src/lib.register_all.rs

-1
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,6 @@ store.register_group(true, "clippy::all", Some("clippy_all"), vec![
281281
LintId::of(transmute::TRANSMUTE_INT_TO_FLOAT),
282282
LintId::of(transmute::TRANSMUTE_NUM_TO_BYTES),
283283
LintId::of(transmute::TRANSMUTE_PTR_TO_REF),
284-
LintId::of(transmute::TRANSMUTE_UNDEFINED_REPR),
285284
LintId::of(transmute::UNSOUND_COLLECTION_TRANSMUTE),
286285
LintId::of(transmute::WRONG_TRANSMUTE),
287286
LintId::of(transmuting_null::TRANSMUTING_NULL),

clippy_lints/src/lib.register_correctness.rs

-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ store.register_group(true, "clippy::correctness", Some("clippy_correctness"), ve
5858
LintId::of(serde_api::SERDE_API_MISUSE),
5959
LintId::of(size_of_in_element_count::SIZE_OF_IN_ELEMENT_COUNT),
6060
LintId::of(swap::ALMOST_SWAPPED),
61-
LintId::of(transmute::TRANSMUTE_UNDEFINED_REPR),
6261
LintId::of(transmute::UNSOUND_COLLECTION_TRANSMUTE),
6362
LintId::of(transmute::WRONG_TRANSMUTE),
6463
LintId::of(transmuting_null::TRANSMUTING_NULL),

clippy_lints/src/lib.register_nursery.rs

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ store.register_group(true, "clippy::nursery", Some("clippy_nursery"), vec![
2626
LintId::of(strings::STRING_LIT_AS_BYTES),
2727
LintId::of(suspicious_operation_groupings::SUSPICIOUS_OPERATION_GROUPINGS),
2828
LintId::of(trailing_empty_array::TRAILING_EMPTY_ARRAY),
29+
LintId::of(transmute::TRANSMUTE_UNDEFINED_REPR),
2930
LintId::of(transmute::USELESS_TRANSMUTE),
3031
LintId::of(use_self::USE_SELF),
3132
])

clippy_lints/src/transmute/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,7 @@ declare_clippy_lint! {
377377
/// ```
378378
#[clippy::version = "1.60.0"]
379379
pub TRANSMUTE_UNDEFINED_REPR,
380-
correctness,
380+
nursery,
381381
"transmute to or from a type with an undefined representation"
382382
}
383383

0 commit comments

Comments
 (0)