rust/tests
Matthias Krüger 7d7004d3e6
Rollup merge of #116421 - Urgau:inter-mut-invalid_ref_casting, r=oli-obk
Clarify `invalid_reference_casting` lint around interior mutable types

This is PR intends to clarify the `invalid_reference_casting` lint around interior mutable types by adding a note for them saying that they should go through `UnsafeCell::get`.

So for this code:
```rust
let cell = &std::cell::UnsafeCell::new(0);
let _num = &mut *(cell as *const _ as *mut i32);
```

the following note will be added to the lint output:

```diff
 error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused,  consider instead using an `UnsafeCell`
   --> $DIR/reference_casting.rs:68:16
    |
 LL |     let _num = &mut *(cell as *const _ as *mut i32);
    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
+   = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get`
```

Suggestion are welcome around the note contents.

Fixes https://github.com/rust-lang/rust/issues/116410
cc `@RalfJung`
2023-10-06 06:23:48 +02:00
..
assembly Limit to LLVM 17.0.2 to work around WinEH codegen bug 2023-10-02 11:06:38 +02:00
auxiliary
codegen Limit to LLVM 17.0.2 to work around WinEH codegen bug 2023-10-02 11:06:38 +02:00
codegen-units
coverage-map coverage: Store each BCB's code regions in one coverage statement 2023-10-03 13:03:39 +11:00
debuginfo Auto merge of #115128 - davidtwco:re-enable-debuginfo-test, r=wesleywiser 2023-09-12 19:39:27 +00:00
incremental Address misc feedback 2023-10-02 08:59:31 -04:00
mir-opt move subtyper change reveal_all 2023-10-05 18:56:30 +03:00
pretty Rework no_coverage to coverage(off) 2023-09-08 12:46:06 +01:00
run-coverage coverage: Regression test for functions with unreachable bodies 2023-10-01 14:44:27 +11:00
run-coverage-rustdoc Tidy up some awkwardly-placed comments in tests 2023-08-26 14:35:34 +10:00
run-make Auto merge of #113301 - Be-ing:stabilize_bundle_whole-archive, r=petrochenkov 2023-09-29 15:51:48 +00:00
run-make-fulldeps Merge ExternProviders into the general Providers struct 2023-09-22 20:15:34 +00:00
run-pass-valgrind
rustdoc Add URL to test case issues 2023-10-04 13:04:45 -07:00
rustdoc-gui Migrate GUI colors test to original CSS color format 2023-09-23 20:03:03 +02:00
rustdoc-js rustdoc-search: fix bugs when unboxing and reordering combine 2023-09-09 16:58:37 -07:00
rustdoc-js-std rustdoc-search: fix bugs when unboxing and reordering combine 2023-09-09 16:58:37 -07:00
rustdoc-json Fix rustdoc-json tests 2023-08-23 11:52:49 -07:00
rustdoc-ui Add a note to duplicate diagnostics 2023-10-05 01:04:41 +00:00
ui Rollup merge of #116421 - Urgau:inter-mut-invalid_ref_casting, r=oli-obk 2023-10-06 06:23:48 +02:00
ui-fulldeps Rollup merge of #116428 - Alexendoo:note-duplicate-diagnostics, r=compiler-errors,estebank 2023-10-05 19:24:35 +02:00
COMPILER_TESTS.md