This is necessary for closure captures in 2021 edition, as they capture individual fields, not the full mentioned variables. So it may try to capture a field of an opaque (because the hidden type is known to be something with a field).
LocalDefId
def_path_str
no-builtins
no_builtins
rustc_const_eval
#[track_caller]
CloneLiftImpls
TrivialTypeTraversalImpls
Span
ModChild
TyCtxt::mk_x
Ty::new_x