Repository navigation
Regression in #[allow(deprecated)] for impl Trait return type #54045
Description
Activity
- addedregression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.Performance or correctness regression from stable to nightly.regression-from-stable-to-betaPerformance or correctness regression from stable to beta.Performance or correctness regression from stable to beta.A-impl-traitArea: `impl Trait`. Universally / existentially quantified anonymous types with static dispatch.Area: `impl Trait`. Universally / existentially quantified anonymous types with static dispatch.
on Sep 7, 2018 Possible. Is the deprecation checker running on HIR? because we now have a HIR existential type item, and I don't think we're copying lint attributes from the function over to it
cc @Mark-Simulacrum @rust-lang/compiler
Beta promotion to stable should happen today...
- addedT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.and removedregression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.Performance or correctness regression from stable to nightly.
on Sep 10, 2018 because we now have a HIR existential type item, and I don't think we're copying lint attributes from the function over to it
Ideally, the HIR would be nested in such a way that the lints implicitly apply to the existential.
Ideally, the HIR would be nested in such a way that the lints implicitly apply to the existential.
for that we'd either need some form of anonymous modules that fill their items into the outer module, or we'd move the existential type item into the function body (which you were explicitly against), or we'd add a
hir::TyKind::Itemwhich contains an actualhir::Itemor we'd add a
hir::TyKind::Itemwhich contains an actualhir::ItemThis is the closest to a real fix IMO, the path trick is cool but problematic.
- addedregression-from-stable-to-stablePerformance or correctness regression from one stable version to another.Performance or correctness regression from one stable version to another.and removedregression-from-stable-to-betaPerformance or correctness regression from stable to beta.Performance or correctness regression from stable to beta.
on Sep 12, 2018 - addedstable-nominatedNominated for backporting to the compiler in the stable channel.Nominated for backporting to the compiler in the stable channel.
on Sep 19, 2018 Discussed at T-compiler meeting
Some notes:
- There exists a workaround; namely, one can tag a containing item with the
#[allow(..)], as demonstrated here on play. - Since there exists a workaround, and the bug has at this point leaked out to stable, it seems unlikely that we would attempt a full backport all the way to stable.
- And therefore, we are willing to wait for @oli-obk to return in order to work together with @eddyb to identify the best fix for this bug.
- So, we're keeping this at P-high, but we're not striving to make a PR that would be backport-able to stable nor to beta.)
- Having said that, I'm leaving the stable-nominated tag on the bug so that @oli-obk and/or @cramertj get a chance to chime in before we remove it.
- There exists a workaround; namely, one can tag a containing item with the
Seems fine to me!
- removedstable-nominatedNominated for backporting to the compiler in the stable channel.Nominated for backporting to the compiler in the stable channel.
on Sep 26, 2018 visited for triage. No change in status; plan of record remains as recorded in my previous comment.
I'm on it
- added a commit that references this issue
on Oct 5, 2018
The following code compiles on stable but fails to compile on beta and nightly with the warning "use of deprecated item
Deprecated":Error:
Possibly related to @oli-obk 's refactoring of
impl Trait?