rust/library
bors d170833431 Auto merge of #112431 - Urgau:cast_ref_to_mut_improvments, r=Nilstrieb
Improve `invalid_reference_casting` lint

This PR is a follow-up to https://github.com/rust-lang/rust/pull/111567 and https://github.com/rust-lang/rust/pull/113422.

This PR does multiple things:
 - First it adds support for deferred de-reference, the goal is to support code like this, where the casting and de-reference are not done on the same expression
    ```rust
    let myself = self as *const Self as *mut Self;
    *myself = Self::Ready(value);
    ```
 - Second it does not lint anymore on SB/TB UB code by only checking assignments (`=`, `+=`, ...) and creation of mutable references `&mut *`
 - Thirdly it greatly improves the diagnostics in particular for cast from `&mut` to `&mut` or assignments
 - ~~And lastly it renames the lint from `cast_ref_to_mut` to `invalid_reference_casting` which is more consistent with the ["rules"](https://github.com/rust-lang/rust-clippy/issues/2845) and also more consistent with what the lint checks~~ *https://github.com/rust-lang/rust/pull/113422*

This PR is best reviewed commit by commit.

r? compiler
2023-08-02 11:25:13 +00:00
..
alloc Rollup merge of #114111 - allaboutevemirolive:add-test-case-string, r=Mark-Simulacrum 2023-07-31 22:49:51 +02:00
backtrace@e1c49fbd61 Update std to backtrace 0.3.68 2023-07-02 17:02:45 -07:00
core Auto merge of #112431 - Urgau:cast_ref_to_mut_improvments, r=Nilstrieb 2023-08-02 11:25:13 +00:00
panic_abort Remove unnecessary raw pointer in __rust_start_panic arg 2023-03-26 16:40:18 +00:00
panic_unwind Partial stabilisation of c_unwind 2023-04-29 13:01:44 +01:00
portable-simd remove repetitive words 2023-07-31 16:13:02 +08:00
proc_macro Hide ToString implementations that specialize the default ones 2023-07-24 23:37:35 +09:00
profiler_builtins
rtstartup Remove custom frame info registration on i686-pc-windows-gnu 2022-08-23 16:12:58 +08:00
rustc-std-workspace-alloc Replace libstd, libcore, liballoc in line comments. 2022-12-30 14:00:42 +01:00
rustc-std-workspace-core
rustc-std-workspace-std
std Auto merge of #112922 - g0djan:godjan/wasi-threads, r=wesleywiser 2023-08-02 01:01:48 +00:00
stdarch@d77878b729 Bump stdarch 2023-06-13 21:45:04 -07:00
sysroot Expose compiler-builtins-weak-intrinsics feature for -Zbuild-std 2023-06-23 11:15:34 +01:00
test Rollup merge of #113717 - cuishuang:master, r=Nilstrieb 2023-07-31 22:49:47 +02:00
unwind support for mips32r6 as a target_arch value 2023-07-18 18:58:18 +08:00