Skip to content

MGCA: merge associated_const_equality feature gate into MGCA #150617

@BoxyUwU

Description

@BoxyUwU

The "point" of MGCA is effectively to introduce support for associated constants in the type system. The current impl of associated_const_equality allows for a bunch of things into the type system that we don't really want.

A core part of "good support for associated constants in the type system" is supporting T: Trait<ASSOC = 1>. We should therefore merge associated_const_equality into the more general min_generic_const_args feature.

It's also worth noting that right now associated_const_equality doesn't really work well without min_generic_const_args enabled as we've started enforcing that associated constants in the type system meet the requirements that min_generic_const_args introduces. So in some sense you already need MGCA to use ACE.

cc @fmease the de-facto owner of associated_const_equality I think. We talked about this a while back on zulip.

This would involve replacing all features().associated_const_equality() with features().min_generic_const_args() in the compiler, as well as switching over all the feature gates in the test suite. As well as moving the feature to the removed list of features: https://rustc-dev-guide.rust-lang.org/feature-gates.html#removing-a-feature-gate

Metadata

Metadata

Assignees

Labels

A-const-genericsArea: const generics (parameters and arguments)E-easyCall for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.E-mentorCall for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.F-associated_const_equality`#![feature(associated_const_equality)]`F-min_generic_const_args`#![feature(min_generic_const_args)]`T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions