diff options
| author | bors <bors@rust-lang.org> | 2024-01-09 14:50:14 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-01-09 14:50:14 +0000 |
| commit | 5876c8cdfd3df742c334d6447d44d760c77103b6 (patch) | |
| tree | b2437656721ba0a5f4068566975525a9bab87974 /compiler/rustc_error_codes | |
| parent | be00c5a9b89161b7f45ba80340f709e8e41122f9 (diff) | |
| parent | f41d7739880e72743a74722ae6fcc1be9f7b4e5c (diff) | |
| download | rust-5876c8cdfd3df742c334d6447d44d760c77103b6.tar.gz rust-5876c8cdfd3df742c334d6447d44d760c77103b6.zip | |
Auto merge of #119767 - GuillaumeGomez:rollup-fbp26yb, r=GuillaumeGomez
Rollup of 9 pull requests Successful merges: - #117556 (Disallow reference to `static mut` and adding `static_mut_ref` lint) - #118748 (std: getrandom simplification for freebsd.) - #119282 (Rework and improve the unstable documentation of check-cfg) - #119527 (don't reexport atomic::ordering via rustc_data_structures, use std import) - #119668 (Simplify implementation of MIR promotion) - #119699 (Merge dead bb pruning and unreachable bb deduplication.) - #119723 (Remove `-Zdont-buffer-diagnostics`.) - #119756 (rustdoc-search: reuse individual types in function signatures) - #119758 (GNU/Hurd: unconditionally use inline stack probes) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_error_codes')
| -rw-r--r-- | compiler/rustc_error_codes/src/error_codes.rs | 1 | ||||
| -rw-r--r-- | compiler/rustc_error_codes/src/error_codes/E0796.md | 22 |
2 files changed, 23 insertions, 0 deletions
diff --git a/compiler/rustc_error_codes/src/error_codes.rs b/compiler/rustc_error_codes/src/error_codes.rs index 1028d43f9c5..a1391cceb71 100644 --- a/compiler/rustc_error_codes/src/error_codes.rs +++ b/compiler/rustc_error_codes/src/error_codes.rs @@ -515,6 +515,7 @@ E0792: include_str!("./error_codes/E0792.md"), E0793: include_str!("./error_codes/E0793.md"), E0794: include_str!("./error_codes/E0794.md"), E0795: include_str!("./error_codes/E0795.md"), +E0796: include_str!("./error_codes/E0796.md"), } // Undocumented removed error codes. Note that many removed error codes are kept in the list above diff --git a/compiler/rustc_error_codes/src/error_codes/E0796.md b/compiler/rustc_error_codes/src/error_codes/E0796.md new file mode 100644 index 00000000000..cea18f8db85 --- /dev/null +++ b/compiler/rustc_error_codes/src/error_codes/E0796.md @@ -0,0 +1,22 @@ +Reference of mutable static. + +Erroneous code example: + +```compile_fail,edition2024,E0796 +static mut X: i32 = 23; +static mut Y: i32 = 24; + +unsafe { + let y = &X; + let ref x = X; + let (x, y) = (&X, &Y); + foo(&X); +} + +fn foo<'a>(_x: &'a i32) {} +``` + +Mutable statics can be written to by multiple threads: aliasing violations or +data races will cause undefined behavior. + +Reference of mutable static is a hard error from 2024 edition. |
