rust/compiler/rustc_lint/src
Trevor Gross 198a68df1c
Rollup merge of #128735 - jieyouxu:pr-120176-revive, r=cjgillot
Add a special case for `CStr`/`CString` in the `improper_ctypes` lint

Revives #120176. Just needed to bless a test and fix an argument, but seemed reasonable to me otherwise.

Instead of saying to "consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct", we now tell users to "Use `*const ffi::c_char` instead, and pass the value from `CStr::as_ptr()`" when the type involved is a `CStr` or a `CString`.

The suggestion is not made for `&mut CString` or `*mut CString`.

r? ``````@cjgillot`````` (since you were the reviewer of the original PR #120176, but feel free to reroll)
2024-08-24 21:03:31 -05:00
..
context Disallow setting built-in cfgs via set the command-line 2024-08-07 14:08:34 +02:00
nonstandard_style mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
async_closures.rs Make it into a structured suggestion, maybe-incorrect 2024-06-28 20:16:35 -04:00
async_fn_in_trait.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
builtin.rs Use a LocalDefId in ResolvedArg. 2024-08-22 01:17:01 +00:00
context.rs Make Span optional in BufferedEarlyLint 2024-08-07 14:08:34 +02:00
deref_into_dyn_supertrait.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
drop_forget_useless.rs Fix handling of macro arguments within the `dropping_copy_types lint 2024-08-22 13:32:01 +02:00
early.rs Make Span optional in BufferedEarlyLint 2024-08-07 14:08:34 +02:00
enum_intrinsics_non_enums.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
errors.rs Use bool in favor of Option<()> for diagnostics 2024-08-21 01:31:11 -04:00
expect.rs Use bool in favor of Option<()> for diagnostics 2024-08-21 01:31:11 -04:00
for_loops_over_fallibles.rs Use is_lang_item more 2024-08-13 16:44:53 -04:00
foreign_modules.rs Remove #[macro_use] extern crate tracing from rustc_lint. 2024-05-23 18:02:17 +10:00
hidden_unicode_codepoints.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
impl_trait_overcaptures.rs Use a LocalDefId in ResolvedArg. 2024-08-22 01:17:01 +00:00
internal.rs Refactor: diagnostic_outside_of_impl, untranslatable_diagnostic 2024-08-10 21:53:01 +03:00
invalid_from_utf8.rs Remove extern crate rustc_session from rustc_lint. 2024-04-29 13:57:41 +10:00
late.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
let_underscore.rs rustc_lint: make let-underscore-lock translatable 2024-07-30 00:34:27 +03:00
levels.rs Use bool in favor of Option<()> for diagnostics 2024-08-21 01:31:11 -04:00
lib.rs lint on tail expr drop order change in Edition 2024 2024-08-21 01:05:21 +08:00
lints.rs Use bool in favor of Option<()> for diagnostics 2024-08-21 01:31:11 -04:00
macro_expr_fragment_specifier_2024_migration.rs Insert some blank lines. 2024-07-30 07:25:15 +10:00
map_unit_fn.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
methods.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
multiple_supertrait_upcastable.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
non_ascii_idents.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
non_fmt_panic.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
non_local_def.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
nonstandard_style.rs Use more slice patterns inside the compiler 2024-08-07 13:37:52 +02:00
noop_method_call.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
opaque_hidden_inferred_bound.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
pass_by_value.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
passes.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
precedence.rs Temporarily switch ambiguous_negative_literals lint to allow 2024-07-31 19:36:47 +02:00
ptr_nulls.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
redundant_semicolon.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
reference_casting.rs Use bool in favor of Option<()> for diagnostics 2024-08-21 01:31:11 -04:00
shadowed_into_iter.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
tail_expr_drop_order.rs lint on tail expr drop order change in Edition 2024 2024-08-21 01:05:21 +08:00
tests.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
traits.rs Use is_lang_item more 2024-08-13 16:44:53 -04:00
types.rs Rollup merge of #128735 - jieyouxu:pr-120176-revive, r=cjgillot 2024-08-24 21:03:31 -05:00
unit_bindings.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
unused.rs Rollup merge of #128762 - fmease:use-more-slice-pats, r=compiler-errors 2024-08-11 07:51:51 +02:00