Skip to content

Stabilize feature(more_qualified_paths)#141922

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

Stabilize feature(more_qualified_paths)#141922
WaffleLapkin wants to merge 5 commits intorust-lang:mainfrom
WaffleLapkin:qualified

Conversation

@WaffleLapkin
Copy link
Copy Markdown
Member

@WaffleLapkin WaffleLapkin commented Jun 2, 2025

Stabilization report pending.
Tracking issue: #86935

@rustbot
Copy link
Copy Markdown
Collaborator

rustbot commented Jun 2, 2025

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.

Copy link
Copy Markdown
Member

@fee1-dead fee1-dead left a comment

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
Copy link
Copy Markdown
Collaborator

bors commented Jul 2, 2025

☔ 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
Copy link
Copy Markdown
Collaborator

rustbot commented Apr 9, 2026

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

cc @fmease

@rustbot
Copy link
Copy Markdown
Collaborator

rustbot commented Apr 9, 2026

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
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Apr 10, 2026

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

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