Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#6314 Change atomic intrinsics to accept raw pointers #7638

Closed
wants to merge 3 commits into from
Closed

#6314 Change atomic intrinsics to accept raw pointers #7638

wants to merge 3 commits into from

Conversation

mnemotic
Copy link

@mnemotic mnemotic commented Jul 7, 2013

Changes to atomic intrinsics, as per #6314.

@mnemotic
Copy link
Author

mnemotic commented Jul 7, 2013

@cmr Like a melon.

@bblum
Copy link
Contributor

bblum commented Jul 7, 2013

I don't think this is necessary. See my comment on #6314.

@emberian
Copy link
Member

emberian commented Aug 8, 2013

I'm going to close this because it's been sitting here for a month, has gone stale, and doesn't seem to be going to get an r+. Feel free to reopen once #6314 is resolved.

@emberian emberian closed this Aug 8, 2013
flip1995 pushed a commit to flip1995/rust that referenced this pull request Sep 8, 2021
…, r=Manishearth

Avoid slice indexing in Clippy (down with the ICEs)

While working on rust-lang#7569 I got about 23 lint reports where we can avoid slice indexing by destructing the slice early. This is a preparation PR to avoid fixing them in the lint PR. (The implementation already takes about 300 lines without tests 😅). Either way, this should hopefully be easy to review 🙃

---

changelog: none
flip1995 pushed a commit to flip1995/rust that referenced this pull request Nov 23, 2021
…steffen

New lint `index_refutable_slice` to avoid slice indexing

A new lint to check for slices that could be deconstructed to avoid indexing. This lint should hopefully prevent some panics in other projects and ICEs for us. See rust-lang#7569 for an example

The implementation specifically checks for immutable bindings in `if let` statements to slices and arrays. Then it checks if these bindings are only used for value access using indices and that these indices are lower than the configured limit. I did my best to keep the implementation small, however the check was sadly quite complex. Now it's around 300 lines for the implementation and the rest are test.

---

Optional future improvements:
* Check for these instances also in `match` statements
* Check for mutable slice bindings that could also be destructed

---

changelog: New lint [`index_refutable_slice`]

I've already fixed a bunch of lint triggers in rust-lang#7638 to make this PR smaller

Closes: rust-lang#7569
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants