rust/compiler/rustc_lint/src
Matthias Krüger 2667d853a6
Rollup merge of #114784 - Urgau:many-improve-invalid_reference_casting-lint, r=est31
Improve `invalid_reference_casting` lint

This PR improves the `invalid_reference_casting` lint:
 - by considering an unlimited number of casts instead only const to mut ptr
 - by also considering ptr-to-integer and integer-to-ptr casts
 - by also taking into account [`ptr::cast`](https://doc.rust-lang.org/std/primitive.pointer.html#method.cast), [`ptr::cast`](https://doc.rust-lang.org/std/primitive.pointer.html#method.cast-1) and [`ptr::cast_const`](https://doc.rust-lang.org/std/primitive.pointer.html#method.cast_const)

Most of this improvements comes from skimming Github Code Search result for [`&mut \*.*as \*const`](https://github.com/search?q=lang%3Arust+%2F%26mut+%5C*.*as+%5C*const%2F&type=code)

r? ``@est31`` (maybe)
2023-08-16 20:10:37 +02:00
..
nonstandard_style
array_into_iter.rs Re-format let-else per rustfmt update 2023-07-12 21:49:27 -04:00
builtin.rs Auto merge of #114723 - petrochenkov:noplugin2, r=davidtwco 2023-08-13 10:59:36 +00:00
context.rs rustc: Move features from Session to GlobalCtxt 2023-08-11 16:51:50 +08:00
deref_into_dyn_supertrait.rs refactor(rustc_middle): Substs -> GenericArg 2023-07-14 13:27:35 +01:00
drop_forget_useless.rs Fix dropping_copy_types lint from linting in match-arm with side-effects 2023-07-01 16:05:55 +02:00
early.rs rustc: Move features from Session to GlobalCtxt 2023-08-11 16:51:50 +08:00
enum_intrinsics_non_enums.rs refactor(rustc_middle): Substs -> GenericArg 2023-07-14 13:27:35 +01:00
errors.rs Use Cow in {D,Subd}iagnosticMessage. 2023-05-29 09:23:43 +10:00
expect.rs Move expansion of query macros in rustc_middle to rustc_middle::query 2023-05-15 08:49:13 +02:00
for_loops_over_fallibles.rs refactor(rustc_middle): Substs -> GenericArg 2023-07-14 13:27:35 +01:00
foreign_modules.rs Simplify clashing_extern_declarations. 2023-08-04 16:09:13 +00:00
hidden_unicode_codepoints.rs migrate: hidden_unicode_codepoints.rs 2023-01-09 17:07:25 -05:00
internal.rs refactor(rustc_middle): Substs -> GenericArg 2023-07-14 13:27:35 +01:00
invalid_from_utf8.rs Add invalid_from_utf8 analogous to invalid_from_utf8_unchecked 2023-05-27 00:18:28 +02:00
late.rs Use {Local}ModDefId in many queries 2023-08-14 07:22:48 +00:00
let_underscore.rs Fix typos in compiler 2023-04-10 22:02:52 +02:00
levels.rs rustc: Move features from Session to GlobalCtxt 2023-08-11 16:51:50 +08:00
lib.rs Use {Local}ModDefId in many queries 2023-08-14 07:22:48 +00:00
lints.rs Rollup merge of #114486 - Urgau:const-context-nan-suggestion-114471, r=compiler-errors 2023-08-06 03:56:09 +02:00
map_unit_fn.rs Fix #109152, fix the scenario that we may can not get span of func 2023-03-15 14:07:39 +08:00
methods.rs refactor(rustc_middle): Substs -> GenericArg 2023-07-14 13:27:35 +01:00
multiple_supertrait_upcastable.rs Add missing feature gate in multiple_supertrait_upcastable doc 2023-07-31 12:28:53 +01:00
non_ascii_idents.rs Reword confusable idents lint 2023-08-04 16:46:08 +00:00
non_fmt_panic.rs Use Option::is_some_and and Result::is_ok_and in the compiler 2023-05-24 14:20:41 +00:00
nonstandard_style.rs allow host param to be lowercase 2023-07-04 11:47:46 +00:00
noop_method_call.rs fix 2023-07-23 09:58:31 +00:00
opaque_hidden_inferred_bound.rs Rename arg_iter to iter_instantiated 2023-07-17 21:04:12 +00:00
pass_by_value.rs refactor(rustc_middle): Substs -> GenericArg 2023-07-14 13:27:35 +01:00
passes.rs Take a LocalDefId in hir::Visitor::visit_fn. 2023-01-28 09:51:50 +00:00
ptr_nulls.rs Also add label with original type for function pointers 2023-08-03 10:57:11 +02:00
redundant_semicolon.rs refactor: cleanup 2023-01-09 18:57:02 -05:00
reference_casting.rs Improve invalid_reference_casting lint 2023-08-15 10:14:45 +02:00
tests.rs
traits.rs Re-format let-else per rustfmt update 2023-07-12 21:49:27 -04:00
types.rs Rollup merge of #114486 - Urgau:const-context-nan-suggestion-114471, r=compiler-errors 2023-08-06 03:56:09 +02:00
unused.rs match scrutinee need necessary parentheses for structs 2023-08-14 18:05:13 +08:00