Skip to content

Conversation

oli-obk
Copy link
Contributor

@oli-obk oli-obk commented Jul 22, 2025

Allow const trait Foo = Bar + [const] Baz; trait alias declarations. Their rules are the same as with super traits of const traits. So [const] Baz or const Baz is only required for [const] Foo or const Foo bounds respectively.

tracking issue #41517 (part of the general trait alias feature gate, but I can split it out into a separate const trait alias feature gate. I just assumed that const traits would stabilize before trait aliases, and we'd want to stabilize trait aliases together with const trait aliases at the same time)

r? @compiler-errors @fee1-dead

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Jul 22, 2025
@rustbot
Copy link
Collaborator

rustbot commented Jul 22, 2025

Some changes occurred in src/tools/rustfmt

cc @rust-lang/rustfmt

HIR ty lowering was modified

cc @fmease

Changes to the size of AST and/or HIR nodes.

cc @nnethercote

Some changes occurred in src/tools/clippy

cc @rust-lang/clippy

static_assert_size!(Item, 144);
static_assert_size!(ItemKind, 80);
static_assert_size!(Item, 136);
static_assert_size!(ItemKind, 72);
Copy link
Contributor

Choose a reason for hiding this comment

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

👍

@blyxyas
Copy link
Member

blyxyas commented Jul 22, 2025

Clippy changes are approved.

Copy link
Contributor

Choose a reason for hiding this comment

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

Can we add a simple test case for #![feature(trait_alias, const_trait_impl)] in src/tools/rustfmt/tests/target. Would be nice to make sure rustfmt isn't formatting the code incorrectly.

@bors
Copy link
Collaborator

bors commented Jul 23, 2025

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

@oli-obk oli-obk force-pushed the const_trait_alias branch 2 times, most recently from cb809b6 to 7508ac9 Compare July 23, 2025 14:30
@bors
Copy link
Collaborator

bors commented Jul 23, 2025

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

@oli-obk oli-obk force-pushed the const_trait_alias branch from 7508ac9 to 5d3eb69 Compare July 24, 2025 07:25
@bors
Copy link
Collaborator

bors commented Jul 27, 2025

☔ The latest upstream changes (presumably #143884) 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-review Status: Awaiting review from the assignee but also interested parties. T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants