File tree Expand file tree Collapse file tree 1 file changed +10
-0
lines changed
compiler/rustc_hir_analysis/src/collect/type_of Expand file tree Collapse file tree 1 file changed +10
-0
lines changed Original file line number Diff line number Diff line change @@ -242,6 +242,16 @@ pub(super) fn find_opaque_ty_constraints_for_rpit<'tcx>(
242242 owner_def_id : LocalDefId ,
243243 opaque_types_from : DefiningScopeKind ,
244244) -> Ty < ' tcx > {
245+ // When an opaque type is stranded, its hidden type cannot be inferred
246+ // so we should not continue.
247+ if !tcx. opaque_types_defined_by ( owner_def_id) . contains ( & def_id) {
248+ let opaque_type_span = tcx. def_span ( def_id) ;
249+ let guar = tcx
250+ . dcx ( )
251+ . span_delayed_bug ( opaque_type_span, "cannot infer type for stranded opaque type" ) ;
252+ return Ty :: new_error ( tcx, guar) ;
253+ }
254+
245255 match opaque_types_from {
246256 DefiningScopeKind :: HirTypeck => {
247257 let tables = tcx. typeck ( owner_def_id) ;
You can’t perform that action at this time.
0 commit comments