Skip to content

Conversation

Soveu
Copy link
Contributor

@Soveu Soveu commented Aug 10, 2024

changelog: New lint for as *const _ and as *mut _ pointer casts

EDIT: lets go with the simpler version

@rustbot
Copy link
Collaborator

rustbot commented Aug 10, 2024

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @Jarcho (or someone else) some time within the next two weeks.

Please see the contribution instructions for more information. Namely, in order to ensure the minimum review times lag, PR authors and assigned reviewers should ensure that the review label (S-waiting-on-review and S-waiting-on-author) stays updated, invoking these commands when appropriate:

  • @rustbot author: the review is finished, PR author should check the comments and take action accordingly
  • @rustbot review: the author is ready for a review, this PR will be queued again in the reviewer's queue

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties label Aug 10, 2024
@Soveu Soveu force-pushed the accidental-double-ref branch from 89912d7 to c01402d Compare August 10, 2024 19:34
@Soveu
Copy link
Contributor Author

Soveu commented Aug 10, 2024

Or maybe we should just make a lint for as *const/*mut _, like for as _?

Copy link
Contributor

@Jarcho Jarcho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes to the borrow_deref_ref tests should be reverted with the lint being allowed instead.

It's probably fine to lint on just &x as *const _, nut that would need to be paired with a check on the type required. You can use expr_use_ctxt to start on that.

Can you please change to using let-chains to match clippy's general style and tone the commenting down a bit. The current comments make the code harder to read.

@Soveu Soveu force-pushed the accidental-double-ref branch from c01402d to 2a1a2b1 Compare August 24, 2024 21:27
@Soveu Soveu changed the title [WIP] New lint for accidental double pointer into flat addr cast New lint for as *const _ and as *mut _ pointer casts Aug 24, 2024
@Soveu
Copy link
Contributor Author

Soveu commented Aug 24, 2024

Should this lint be enabled by default like as_underscore? This would break some tests:

FAILURES:
    tests/ui/as_ptr_cast_mut.rs
    tests/ui/borrow_deref_ref.rs
    tests/ui/cast_slice_different_sizes.rs
    tests/ui/manual_c_str_literals.rs
    tests/ui/or_fun_call.rs
    tests/ui/ptr_eq.rs
    tests/ui/ptr_eq_no_std.rs
    tests/ui/ptr_as_ptr.rs
    tests/ui/ref_as_ptr.rs
    tests/ui/transmute_null_to_fn.rs
    tests/ui/transmuting_null.rs
    tests/ui/unnecessary_cast.rs
    tests/ui/zero_ptr_no_std.rs
    tests/ui/zero_ptr.rs
    tests/ui/author/issue_3849.rs

@Jarcho
Copy link
Contributor

Jarcho commented Dec 4, 2024

Ping @Soveu. If you can just remove the fixme's in the test this can be merged.

@Soveu Soveu force-pushed the accidental-double-ref branch from a870023 to 1496711 Compare December 6, 2024 19:44
@Soveu
Copy link
Contributor Author

Soveu commented Dec 6, 2024

@Jarcho lets do it

Copy link
Contributor

@Jarcho Jarcho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you.

@Jarcho Jarcho added this pull request to the merge queue Dec 6, 2024
Merged via the queue into rust-lang:master with commit 7f866c7 Dec 6, 2024
9 checks passed
@roberthree roberthree mentioned this pull request Dec 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-review Status: Awaiting review from the assignee but also interested parties

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants