rust-lang / rust-lang/rust

Tracking Issue for Bevy special-casing of implied bounds and `-Zno-implied-bounds-compat`

Open
#119,956 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C-tracking-issue P-high T-types
Dominant language
Rust
Stars
119k
Forks
16.1k
PR merge metrics
PR metrics pending

Description

In #118553 we're adding special casing for functions containing a type using ParamSet from Bevy to not emit an error or warning for incorrect implied bounds (see #109628). This special casing can be disabled via the unstable -Zno-implied-bounds-compat flag.

The expectation is that we may be adding additional implied bounds that (with some modifications to Bevy) allows Bevy's dependents to continue compiling without errors or warnings. When those changes are made, we want to remove this special casing. Alternatively, if we find out we can't add additional implied bounds in a way that allows dependents to continue compiling, we still want to remove the special casing.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading #118553 and the related context in #109628, then inspect the unstable -Zno-implied-bounds-compat flag and the ParamSet special-casing. The work is done when the special-casing is removed after determining whether additional implied bounds can preserve Bevy dependents without errors or warnings.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.