Rollup merge of #145642 - xizheyin:145611, r=lcnr
Do not use effective_visibilities query for Adt types of a local trait while proving a where-clause Partially fix rust-lang/rust#145611, but we should do something make cycle in this situation ICE. Instead of using a query, call `&tcx.resolutions(()).effective_visibilities`. r? `````@lcnr````` cc `````@compiler-errors`````
This commit is contained in:
@@ -2878,7 +2878,7 @@ impl<'a, 'tcx> TypeErrCtxt<'a, 'tcx> {
|
||||
// we check if `TraitB` can be reachable from `S`
|
||||
// to determine whether to note `TraitA` is sealed trait.
|
||||
if let ty::Adt(adt, _) = ty.kind() {
|
||||
let visibilities = tcx.effective_visibilities(());
|
||||
let visibilities = &tcx.resolutions(()).effective_visibilities;
|
||||
visibilities.effective_vis(local).is_none_or(|v| {
|
||||
v.at_level(Level::Reexported)
|
||||
.is_accessible_from(adt.did(), tcx)
|
||||
|
||||
Reference in New Issue
Block a user