You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Regression in #[allow(deprecated)] for impl Trait return type #54045
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
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::Item which contains an actual hir::Item
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.
Activity
oli-obk commentedon Sep 8, 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
emilyalbini commentedon Sep 10, 2018
cc @Mark-Simulacrum @rust-lang/compiler
Beta promotion to stable should happen today...
eddyb commentedon Sep 10, 2018
Ideally, the HIR would be nested in such a way that the lints implicitly apply to the existential.
emilyalbini commentedon Sep 10, 2018
Bisected this, the cause of the regression is #51806. cc @oli-obk (author) @cramertj (reviewer)
oli-obk commentedon Sep 10, 2018
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::Itemeddyb commentedon Sep 10, 2018
This is the closest to a real fix IMO, the path trick is cool but problematic.
pnkfelix commentedon Sep 13, 2018
visited at compiler team meeting. P-high. Assigning to both @eddyb and @oli-obk
@oli-obk : if you're not available , just remove your assignment (but realize you are ceding authority! ha ha ha)
pnkfelix commentedon Sep 20, 2018
Discussed at T-compiler meeting
Some notes:
#[allow(..)], as demonstrated here on play.cramertj commentedon Sep 20, 2018
Seems fine to me!
pnkfelix commentedon Sep 27, 2018
visited for triage. No change in status; plan of record remains as recorded in my previous comment.
oli-obk commentedon Oct 1, 2018
I'm on it
Auto merge of #54741 - oli-obk:impl_trait_hierarchy, r=cramertj