-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Rustup #5711
Rustup #5711
Conversation
They're unused now.
Migrate to numeric associated consts The deprecation PR is #72885 cc #68490 cc rust-lang/rfcs#2700
r? @Manishearth (rust_highfive has picked a reviewer for you, use r? to override) |
Probably blocked on rust-lang/rust#73257 |
r=me when ready! |
Clean up type alias impl trait implementation - Removes special case for top-level impl trait - Removes associated opaque types - Forbid lifetime elision in let position impl trait. This is consistent with the behavior for inferred types. - Handle lifetimes in type alias impl trait more uniformly with other parameters cc #69323 cc #63063 Closes #57188 Closes #62988 Closes #69136 Closes #73061
Stabilize Option::zip This PR stabilizes the following API: ```rust impl<T> Option<T> { pub fn zip<U>(self, other: Option<U>) -> Option<(T, U)>; } ``` This API has real world usage as seen in <https://grep.app/search?q=-%3E%20Option%3C%5C%28T%2C%5Cs%3FU%5C%29%3E®exp=true&filter[lang][0]=Rust>. The `zip_with` method is left unstably as this API is kinda niche and it hasn't received much usage in Rust repositories on GitHub. cc #70086
@bors r=Manishearth (let's try and see if we're waiting unnecessarily, the queue is empty anyway) |
📌 Commit 08e044e has been approved by |
💔 Test failed - checks-action_test |
I'll continue working on fixing the fallout of rust-lang/rust#72389 tomorrow. Now binary operators will be marked as expansions. This broke every lint, that tested for expansion with |
63e300a
to
59cb7f1
Compare
TODO:
In these cases neither |
@flip1995 I think we should be open to asking for that PR to be reverted while we fix this. |
It's a diagnostics PR. If it is causing mass lint breakage, that's a problem, and perhaps its approach is not the best one. |
Yeah, I also thought about this. There is currently the issue, that it seems that expn info is overridden. See the We're checking if the string addition comes from an external macro (what it does) rust-clippy/tests/ui/string_add.rs Line 25 in 7427065
rust-clippy/tests/ui/auxiliary/macro_rules.rs Lines 35 to 41 in 7427065
But since we're checking this on the cc @Aaron1011 |
It sounds like the root issue is that I think the simplest way of achieving this would be to add an |
@flip1995 Oh, the loss of this functionality is definitely a bug in rust-lang/rust#72389 , since macros affect other diagnostics in rustc too. |
@flip1995: After thinking about this more, I think walking up the 'expansion stack' is actually the correct thing to do. Consider the following code: fn main() {
if true || true {}
} When we lower the I think it would be simpler to have Clippy walk up the 'expansion stack' to check if an |
For the following code ```rust let c = || bar(foo.x, foo.x) ``` We generate two different `hir::Place`s for both `foo.x`. Handling this adds overhead for analysis we need to do for RFC 2229. We also want to store type information at each Projection to support analysis as part of the RFC. This resembles what we have for `mir::Place` This commit modifies the Place as follows: - Rename to `PlaceWithHirId`, where there `hir_id` is that of the expressioin. - Move any other information that describes the access out to another struct now called `Place`. - Removed `Span`, it can be accessed using the [hir API](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/hir/map/struct.Map.html#method.span) - Modify `Projection` to be a strucutre of its own, that currently only contains the `ProjectionKind`. Adding type information to projections wil be completed as part of rust-lang/project-rfc-2229#5 Closes rust-lang/project-rfc-2229#3 Co-authored-by: Aman Arora <[email protected]> Co-authored-by: Roxane Fruytier <[email protected]>
The PR that fixed the ci-ice has been merged now 🎉 |
I believe this PR is currently waiting on rust-lang/rust#73594, right? |
Yes |
None of the tools seem to need syn 0.15.35, so we can just build syn 1.0. This was causing an issue with clippy's `compile-test` program: since multiple versions of `syn` would exist in the build directory, we would non-deterministically pick one based on filesystem iteration order. If the pre-1.0 version of `syn` was picked, a strange build error would occur (see rust-lang/rust#73594 (comment)) To prevent this kind of issue from happening again, we now panic if we find multiple versions of a crate in the build directly, instead of silently picking the first version we find.
@bors r+ Next up: sync Clippy back in Rust repo |
📌 Commit 51592f8 has been approved by |
☀️ Test successful - checks-action_dev_test, checks-action_remark_test, checks-action_test |
changelog: none