-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Open
Labels
A-closuresArea: Closures (`|…| { … }`)Area: Closures (`|…| { … }`)C-bugCategory: This is a bug.Category: This is a bug.T-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.
Description
If we try to apply #[track_caller]
on closures, like:
pub fn expect_non_local<OtherId>(self) -> Res<OtherId> {
self.map_id(
#[track_caller]
|_| panic!("unexpected `Res::Local`"),
)
}
This needs an #![feature(closure_track_caller)]
, which is normal, but it also needs the feature attributes on the crates that have a caller of that method.
See #96894 (comment) and #96894 (comment) for more details.
TL;DR: In the above PR's situation, that method belongs to rustc_hir but we also have to add the feature attributes to rustc_resolve and librustdoc.
I expected to see this happen: compiles fine with one feature attribute
Instead, this happened: compilation error
Metadata
Metadata
Assignees
Labels
A-closuresArea: Closures (`|…| { … }`)Area: Closures (`|…| { … }`)C-bugCategory: This is a bug.Category: This is a bug.T-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.
Type
Projects
Milestone
Relationships
Development
Select code repository
Activity