File tree Expand file tree Collapse file tree
compiler/rustc_trait_selection/src/traits Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -300,14 +300,10 @@ fn do_normalize_predicates<'tcx>(
300300 Ok ( predicates) => Ok ( predicates) ,
301301 Err ( fixup_err) => {
302302 // If we encounter a fixup error, it means that some type
303- // variable wound up unconstrained. I actually don't know
304- // if this can happen, and I certainly don't expect it to
305- // happen often, but if it did happen it probably
306- // represents a legitimate failure due to some kind of
307- // unconstrained variable.
308- //
309- // @lcnr: Let's still ICE here for now. I want a test case
310- // for that.
303+ // variable wound up unconstrained. That can happen for
304+ // ill-formed impls, so we delay a bug here instead of
305+ // immediately ICEing and let type checking report the
306+ // actual user-facing errors.
311307 Err ( tcx. dcx ( ) . span_delayed_bug (
312308 span,
313309 format ! ( "inference variables in normalized parameter environment: {fixup_err}" ) ,
You can’t perform that action at this time.
0 commit comments