diff options
| author | Bastian Kersting <bkersting@google.com> | 2024-12-17 13:00:22 +0000 |
|---|---|---|
| committer | Bastian Kersting <bkersting@google.com> | 2025-01-31 11:13:34 +0000 |
| commit | 27454db7d156cf8b99d6d59145ae2a1b92368a49 (patch) | |
| tree | 9840833a808b4e78f78f241a3af7d8b315ac8f16 | |
| parent | 7eefa7671f59dba13a15fd6255684aa19ee05f7d (diff) | |
| download | rust-27454db7d156cf8b99d6d59145ae2a1b92368a49.tar.gz rust-27454db7d156cf8b99d6d59145ae2a1b92368a49.zip | |
Insert null checks for pointer dereferences when debug assertions are enabled
Similar to how the alignment is already checked, this adds a check for null pointer dereferences in debug mode. It is implemented similarly to the alignment check as a MirPass. This is related to a 2025H1 project goal for better UB checks in debug mode: https://github.com/rust-lang/rust-project-goals/pull/177.
| -rw-r--r-- | src/driver.rs | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/driver.rs b/src/driver.rs index 8201f332d33..c548f262a92 100644 --- a/src/driver.rs +++ b/src/driver.rs @@ -166,6 +166,8 @@ impl rustc_driver::Callbacks for ClippyCallbacks { // MIR passes can be enabled / disabled separately, we should figure out, what passes to // use for Clippy. config.opts.unstable_opts.mir_opt_level = Some(0); + config.opts.unstable_opts.mir_enable_passes = + vec![("CheckNull".to_owned(), false), ("CheckAlignment".to_owned(), false)]; // Disable flattening and inlining of format_args!(), so the HIR matches with the AST. config.opts.unstable_opts.flatten_format_args = false; |
