rust/compiler
bors 63ef74b6aa Auto merge of #111717 - Urgau:uplift_fn_null_check, r=oli-obk
Uplift `clippy::fn_null_check` lint

This PR aims at uplifting the `clippy::fn_null_check` lint into rustc.

## `incorrect_fn_null_checks`

(warn-by-default)

The `incorrect_fn_null_checks` lint checks for expression that checks if a function pointer is null.

### Example

```rust
let fn_ptr: fn() = /* somehow obtained nullable function pointer */

if (fn_ptr as *const ()).is_null() { /* ... */ }
```

### Explanation

Function pointers are assumed to be non-null, checking for their nullity is incorrect.

-----

Mostly followed the instructions for uplifting a clippy lint described here: https://github.com/rust-lang/rust/pull/99696#pullrequestreview-1134072751

`@rustbot` label: +I-lang-nominated
r? compiler
2023-07-11 09:34:48 +00:00
..
rustc
rustc_abi clean up struct layout code 2023-07-06 13:04:13 +00:00
rustc_apfloat
rustc_arena Extend unused_must_use to cover block exprs 2023-06-15 17:59:13 +08:00
rustc_ast Auto merge of #113270 - the8472:opt-macro-tts, r=nnethercote 2023-07-07 08:04:48 +00:00
rustc_ast_lowering include host_effect_index in Generics 2023-07-04 17:21:52 +00:00
rustc_ast_passes Auto merge of #113105 - matthiaskrgr:rollup-rci0uym, r=matthiaskrgr 2023-06-27 21:31:47 +00:00
rustc_ast_pretty Syntatically accept become expressions 2023-06-19 12:54:34 +00:00
rustc_attr Ensure Fluent messages are in alphabetical order 2023-05-25 23:49:35 +00:00
rustc_baked_icu_data Regen baked data 2023-05-02 10:45:16 -07:00
rustc_borrowck Auto merge of #113316 - DrMeepster:underefer_perf, r=oli-obk 2023-07-11 06:52:53 +00:00
rustc_builtin_macros fix typo 2023-06-28 10:52:48 +08:00
rustc_codegen_cranelift Rename adjustment::PointerCast and variants using it to PointerCoercion 2023-07-07 18:17:16 +02:00
rustc_codegen_gcc Move TyCtxt::mk_x to Ty::new_x where applicable 2023-07-05 20:27:07 +01:00
rustc_codegen_llvm Reuse LLVMConstInBoundsGEP2 2023-07-10 00:20:56 -07:00
rustc_codegen_ssa Rollup merge of #111618 - cjgillot:name-return-place, r=tmiasko 2023-07-09 16:33:35 +02:00
rustc_const_eval Auto merge of #113376 - Nilstrieb:pointer-coercions-are-not-casts-because-that-sounds-way-to-general-aaaa, r=oli-obk 2023-07-08 13:48:30 +00:00
rustc_data_structures Upgrade to indexmap 2.0.0 2023-07-03 13:51:54 -07:00
rustc_driver Update rustix 2023-07-03 07:20:51 +00:00
rustc_driver_impl Dynamically size sigaltstk in rustc 2023-07-10 12:05:16 -07:00
rustc_error_codes Implement custom diagnostic for ConstParamTy 2023-06-01 18:21:42 +00:00
rustc_error_messages Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
rustc_errors Add a simple markdown parser for formatting rustc --explain 2023-07-03 16:04:18 -04:00
rustc_expand perform TokenStream replacement in-place when possible in expand_macro 2023-07-03 13:29:15 +02:00
rustc_feature Add feature and attribute definition 2023-07-04 11:47:45 +00:00
rustc_fluent_macro Fix diagnostics with errors 2023-05-26 10:44:18 +00:00
rustc_fs_util
rustc_graphviz enable rust_2018_idioms for doctests 2023-05-07 00:12:29 +03:00
rustc_hir Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
rustc_hir_analysis Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
rustc_hir_pretty hir: Add Become expression kind 2023-06-26 08:56:32 +00:00
rustc_hir_typeck Auto merge of #113484 - matthiaskrgr:rollup-goq2u0d, r=matthiaskrgr 2023-07-08 18:36:58 +00:00
rustc_incremental Applied nits 2023-06-11 22:45:04 -04:00
rustc_index Auto merge of #111925 - Manishearth:rollup-z6z6l2v, r=Manishearth 2023-05-25 00:33:43 +00:00
rustc_infer Auto merge of #113474 - compiler-errors:rollup-07x1up7, r=compiler-errors 2023-07-08 10:46:29 +00:00
rustc_interface Remove chalk from the compiler 2023-07-03 21:40:04 +00:00
rustc_lexer Revert the lexing of c_str_literals 2023-07-05 13:11:17 +02:00
rustc_lint Auto merge of #111717 - Urgau:uplift_fn_null_check, r=oli-obk 2023-07-11 09:34:48 +00:00
rustc_lint_defs Make unused_associated_type_bounds's lint level changeable 2023-07-05 07:46:05 +00:00
rustc_llvm Reuse LLVMConstInBoundsGEP2 2023-07-10 00:20:56 -07:00
rustc_log Downgrade tracing and syn 2023-07-02 21:02:31 +02:00
rustc_macros Downgrade tracing and syn 2023-07-02 21:02:31 +02:00
rustc_metadata Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
rustc_middle Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
rustc_mir_build Rollup merge of #113217 - ericmarkmartin:lower-type-relative-ctor-to-adt, r=cjgillot 2023-07-08 20:53:29 +02:00
rustc_mir_dataflow Auto merge of #113316 - DrMeepster:underefer_perf, r=oli-obk 2023-07-11 06:52:53 +00:00
rustc_mir_transform Rename adjustment::PointerCast and variants using it to PointerCoercion 2023-07-07 18:17:16 +02:00
rustc_monomorphize Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
rustc_parse Fix the issue of wrong diagnosis for extern pub fn 2023-07-05 16:25:46 +08:00
rustc_parse_format
rustc_passes Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
rustc_plugin_impl
rustc_privacy Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
rustc_query_impl Avoid calling queries during query stack printing 2023-06-27 16:12:07 +02:00
rustc_query_system Show which type was not specialized on query cycle misuse 2023-07-05 07:30:28 +00:00
rustc_resolve Auto merge of #112988 - spastorino:new-rpitit-24, r=compiler-errors 2023-07-10 19:01:30 +00:00
rustc_serialize Upgrade to indexmap 2.0.0 2023-07-03 13:51:54 -07:00
rustc_session Auto merge of #112988 - spastorino:new-rpitit-24, r=compiler-errors 2023-07-10 19:01:30 +00:00
rustc_smir Rollup merge of #113412 - spastorino:smir-types-1, r=oli-obk 2023-07-08 15:49:47 +02:00
rustc_span Auto merge of #111717 - Urgau:uplift_fn_null_check, r=oli-obk 2023-07-11 09:34:48 +00:00
rustc_symbol_mangling Move TyCtxt::mk_x to Ty::new_x where applicable 2023-07-05 20:27:07 +01:00
rustc_target Add support for NetBSD/riscv64 aka. riscv64gc-unknown-netbsd. 2023-07-05 13:49:01 +00:00
rustc_trait_selection Auto merge of #112988 - spastorino:new-rpitit-24, r=compiler-errors 2023-07-10 19:01:30 +00:00
rustc_traits get rid of a bit more calls to poly_select 2023-07-06 16:50:12 +00:00
rustc_transmute Put LayoutError behind reference to shrink result 2023-07-01 21:16:25 +02:00
rustc_ty_utils Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
rustc_type_ir move ConstKind to typeir and move inherent impls to Const 2023-07-05 09:46:30 +01:00