rust/compiler
Matthias Krüger da1d738601
Rollup merge of #94467 - ibraheemdev:master, r=pnkfelix
Add `special_module_name` lint

Declaring `lib` as a module is one of the most common beginner mistakes when trying to setup a binary and library target in the same crate. `special_module_name` lints against it, as well as `mod main;`
```
warning: found module declaration for main.rs
  --> $DIR/special_module_name.rs:4:1
   |
LL | mod main;
   | ^^^^^^^^^
   |
   = note: a binary crate cannot be used as library

warning: found module declaration for lib.rs
  --> $DIR/special_module_name.rs:1:1
   |
LL | mod lib;
   | ^^^^^^^^
   |
   = note: `#[warn(special_module_name)]` on by default
   = note: lib.rs is the root of this crate's library target
   = help: to refer to it from other targets, use the library's name as the path
   ```

Note that the help message is not the best in that it doesn't provide an example of an import path (`the_actual_crate_name::`), and doesn't check whether the current file is part of a library/binary target to provide more specific error messages. I'm not sure where this lint would have to be run to access that information.
2022-09-01 21:37:07 +02:00
..
rustc Don't rerun the build script for the compiler each time on linux 2022-07-10 23:57:25 -05:00
rustc_apfloat Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_arena Make use of [wrapping_]byte_{add,sub} 2022-08-23 19:32:37 +04:00
rustc_ast Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_ast_lowering Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_ast_passes Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_ast_pretty Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_attr Revert let_chains stabilization 2022-08-29 19:34:11 +02:00
rustc_borrowck tracing::instrument cleanup 2022-09-01 14:54:27 +00:00
rustc_builtin_macros Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_codegen_cranelift Auto merge of #100707 - dzvon:fix-typo, r=davidtwco 2022-09-01 05:39:58 +00:00
rustc_codegen_gcc Rollup merge of #100653 - cuviper:fptoint_sat, r=michaelwoerister,antoyo 2022-08-30 16:56:09 +05:30
rustc_codegen_llvm Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_codegen_ssa Auto merge of #100958 - mikebenfield:workaround, r=nikic 2022-09-01 10:30:10 +00:00
rustc_const_eval tracing::instrument cleanup 2022-09-01 14:54:27 +00:00
rustc_data_structures Auto merge of #100869 - nnethercote:replace-ThinVec, r=spastorino 2022-09-01 08:01:06 +00:00
rustc_driver tracing::instrument cleanup 2022-09-01 14:54:27 +00:00
rustc_error_codes Stabilize #![feature(label_break_value)] 2022-08-23 21:14:12 -05:00
rustc_error_messages Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_errors Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_expand Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_feature Auto merge of #101183 - Dylan-DPC:rollup-6kewixv, r=Dylan-DPC 2022-08-30 08:29:42 +00:00
rustc_fs_util Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_graphviz Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_hir Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_hir_pretty Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_incremental Remove trait_of_item query. 2022-08-01 21:39:26 +02:00
rustc_index Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_infer tracing::instrument cleanup 2022-09-01 14:54:27 +00:00
rustc_interface Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_lexer Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_lint Rollup merge of #94467 - ibraheemdev:master, r=pnkfelix 2022-09-01 21:37:07 +02:00
rustc_lint_defs Auto merge of #100707 - dzvon:fix-typo, r=davidtwco 2022-09-01 05:39:58 +00:00
rustc_llvm Rollup merge of #101025 - semarie:openbsd-archs, r=petrochenkov 2022-08-31 07:57:58 +02:00
rustc_log Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_macros Rollup merge of #101165 - ldm0:drain_to_iter, r=cjgillot 2022-08-31 21:30:13 +02:00
rustc_metadata Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_middle tracing::instrument cleanup 2022-09-01 14:54:27 +00:00
rustc_mir_build tracing::instrument cleanup 2022-09-01 14:54:27 +00:00
rustc_mir_dataflow Rollup merge of #99027 - tmiasko:basic-blocks, r=oli-obk 2022-08-29 06:34:43 +02:00
rustc_mir_transform Auto merge of #99102 - JakobDegen:reorder-generators, r=oli-obk 2022-08-30 23:43:33 +00:00
rustc_monomorphize tracing::instrument cleanup 2022-09-01 14:54:27 +00:00
rustc_parse Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_parse_format Separate CountIsStar from CountIsParam in rustc_parse_format. 2022-08-25 14:49:09 +02:00
rustc_passes Directly use the instrument macro instead of its full path 2022-09-01 14:53:46 +00:00
rustc_plugin_impl Migrate rustc_plugin_impl to SessionDiagnostic 2022-08-22 16:35:05 +01:00
rustc_privacy Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_query_impl tracing::instrument cleanup 2022-09-01 14:54:27 +00:00
rustc_query_system Auto merge of #100869 - nnethercote:replace-ThinVec, r=spastorino 2022-09-01 08:01:06 +00:00
rustc_resolve Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_save_analysis Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_serialize Replace rustc_data_structures::thin_vec::ThinVec with thin_vec::ThinVec. 2022-08-29 15:42:13 +10:00
rustc_session Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_smir Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_span tracing::instrument cleanup 2022-09-01 14:54:27 +00:00
rustc_symbol_mangling Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_target Auto merge of #100707 - dzvon:fix-typo, r=davidtwco 2022-09-01 05:39:58 +00:00
rustc_trait_selection tracing::instrument cleanup 2022-09-01 14:54:27 +00:00
rustc_traits Fix a bunch of typo 2022-08-31 18:24:55 +08:00
rustc_transmute Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_ty_utils tracing::instrument cleanup 2022-09-01 14:54:27 +00:00
rustc_type_ir ADD - diagnostic lints to type_ir 2022-08-18 13:33:03 -04:00
rustc_typeck tracing::instrument cleanup 2022-09-01 14:54:27 +00:00