Skip to content

Stabilize feature(more_qualified_paths) - #141922

Open
WaffleLapkin wants to merge 5 commits into
rust-lang:mainfrom
WaffleLapkin:qualified
Open

WaffleLapkin wants to merge 5 commits into
rust-lang:mainfrom
WaffleLapkin:qualified

Conversation

@WaffleLapkin

@WaffleLapkin WaffleLapkin commented Jun 2, 2025 •

Copy link
Copy Markdown
Member

Stabilization report pending.
Tracking issue: #86935

@rustbot

rustbot commented Jun 2, 2025

Copy link
Copy Markdown
Collaborator

r? @fee1-dead

rustbot has assigned @fee1-dead.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jun 2, 2025
@rust-log-analyzer

This comment has been minimized.

@fee1-dead fee1-dead left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Diff looks fine

@fee1-dead fee1-dead added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 4, 2025
@traviscross traviscross added the T-lang Relevant to the language team label Jun 24, 2025
@bors

bors commented Jul 2, 2025

Copy link
Copy Markdown
Collaborator

☔ The latest upstream changes (presumably #143036) made this pull request unmergeable. Please resolve the merge conflicts.

@WaffleLapkin

Copy link
Copy Markdown
Member Author

@rustbot blocked

While trying to implement this feature in r-a I found a bunch of edge cases which I haven't considered before. This is blocked until we implement it in r-a (technically not required but IMO nice) and add more tests for all the edge cases (or verify there are existing ones).

@rustbot rustbot added S-blocked Status: Blocked on something else such as an RFC or other implementation work. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jul 4, 2025
@theemathas

Copy link
Copy Markdown
Contributor

According to #86935 (comment), this has now been implemented in rust-analyzer.

@theemathas theemathas added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-blocked Status: Blocked on something else such as an RFC or other implementation work. labels Mar 31, 2026
@rustbot

rustbot commented Apr 9, 2026

Copy link
Copy Markdown
Collaborator

The parser was modified, potentially altering the grammar of (stable) Rust
which would be a breaking change.

cc @fmease

@rustbot

rustbot commented Apr 9, 2026

Copy link
Copy Markdown
Collaborator

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job x86_64-gnu-tools failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
tests/ui/size_of_in_element_count/functions.rs ... ok
tests/ui/crashes/third-party/conf_allowlisted.rs ... ok

FAILED TEST: tests/ui/empty_enum_variants_with_brackets.rs
command: CLIPPY_CONF_DIR="tests" RUSTC_ICE="0" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/clippy-driver" "--error-format=json" "--emit=metadata" "-Aunused" "-Ainternal_features" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Dwarnings" "-Ldependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps" "--sysroot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui" "tests/ui/empty_enum_variants_with_brackets.rs" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-fbb2c78a4397bb08.rlib" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-fbb2c78a4397bb08.rmeta" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-08cb6de3a10b25d1.rlib" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-08cb6de3a10b25d1.rmeta" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-ac3195ae9071a567.rlib" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-ac3195ae9071a567.rmeta" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-cb20139ff7bab978.rlib" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-cb20139ff7bab978.rmeta" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-d52f64f9beb2b3e9.rlib" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-d52f64f9beb2b3e9.rmeta" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-099fa7d611da1769.rlib" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-099fa7d611da1769.rmeta" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-cc2552a331d3edc6.rlib" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-cc2552a331d3edc6.rmeta" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-6fe3ac6a29af0bce.rlib" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-6fe3ac6a29af0bce.rmeta" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-115c8b7669715635.rlib" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-115c8b7669715635.rmeta" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/debug/deps" "--edition" "2024"

error: actual output differed from expected
Execute `./x test src/tools/clippy --bless` to update `tests/ui/empty_enum_variants_with_brackets.stderr` to the actual output
--- tests/ui/empty_enum_variants_with_brackets.stderr
+++ <stderr output>
---
LL ~         Parentheses,
LL |
...
LL |         // The parentheses in the below line are redundant.
LL ~         RedundantParenthesesFunctionCall::Parentheses;
   |

error: enum variant has empty brackets
##[error]  --> tests/ui/empty_enum_variants_with_brackets.rs:77:20
   |
LL |         Parentheses(),
   |                    ^^
   |
help: remove the brackets
   |
LL ~         RedundantParenthesesFunctionCall2::Parentheses;
LL |         RedundantParenthesesFunctionCall2::NoParentheses;
...
LL |         // Used as a function call but with redundant parentheses
LL ~         Parentheses,
   |

---
LL ~         V,
LL |
LL |     }
LL |
LL ~     let E::V = E::V;
LL |
LL ~     <E>::V = E::V;
LL ~     <E>::V = E::V;
   |

error: enum variant has empty brackets
##[error]  --> tests/ui/empty_enum_variants_with_brackets.rs:120:10
   |
---
   |
LL ~         V,
LL |
LL |     }
LL ~     E::V = E::V;
LL ~     E::V = E::V;
LL ~     <E>::V = <E>::V;
   |

error: enum variant has empty brackets
##[error]  --> tests/ui/empty_enum_variants_with_brackets.rs:128:10
   |
---
   |
LL ~         U,
LL |
LL |     }
LL ~     F::U = F::U;
LL ~     <F>::U = F::U;
   |

error: aborting due to 12 previous errors



error: there was 1 unmatched diagnostic
##[error] --> tests/ui/empty_enum_variants_with_brackets.rs:3:12
  |
3 | #![feature(more_qualified_paths)]
  |            ^^^^^^^^^^^^^^^^^^^^ Error[stable_features]: the feature `more_qualified_paths` has been stable since 1.96.0-nightly and no longer requires an attribute to enable
  |

full stderr:
error: the feature `more_qualified_paths` has been stable since 1.96.0-nightly and no longer requires an attribute to enable
##[error]  --> tests/ui/empty_enum_variants_with_brackets.rs:3:12
---
LL ~         Parentheses,
LL |
...
LL |         // The parentheses in the below line are redundant.
LL ~         RedundantParenthesesFunctionCall::Parentheses;
   |

error: enum variant has empty brackets
##[error]  --> tests/ui/empty_enum_variants_with_brackets.rs:77:20
   |
LL |         Parentheses(),
   |                    ^^
   |
help: remove the brackets
   |
LL ~         RedundantParenthesesFunctionCall2::Parentheses;
LL |         RedundantParenthesesFunctionCall2::NoParentheses;
...
LL |         // Used as a function call but with redundant parentheses
LL ~         Parentheses,
   |

---
LL ~         V,
LL |
LL |     }
LL |
LL ~     let E::V = E::V;
LL |
LL ~     <E>::V = E::V;
LL ~     <E>::V = E::V;
   |

error: enum variant has empty brackets
##[error]  --> tests/ui/empty_enum_variants_with_brackets.rs:120:10
   |
---
   |
LL ~         V,
LL |
LL |     }
LL ~     E::V = E::V;
LL ~     E::V = E::V;
LL ~     <E>::V = <E>::V;
   |

error: enum variant has empty brackets
##[error]  --> tests/ui/empty_enum_variants_with_brackets.rs:128:10
   |
---
   |
LL ~         U,
LL |
LL |     }
LL ~     F::U = F::U;
LL ~     <F>::U = F::U;
   |

error: aborting due to 12 previous errors


@rust-bors

rust-bors Bot commented Apr 10, 2026

Copy link
Copy Markdown
Contributor

☔ The latest upstream changes (presumably #155056) made this pull request unmergeable. Please resolve the merge conflicts.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-lang Relevant to the language team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants