File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed
compiler/rustc_trait_selection/src/solve/normalizes_to Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -29,12 +29,16 @@ pub(super) fn is_rigid_alias<'tcx>(
2929 // which is non-trivial. We may be forced to handle this case
3030 // in the future.
3131 alias. self_ty ( ) . is_placeholder ( )
32- && no_blanket_impls ( tcx, alias. trait_def_id ( tcx) )
32+ && no_applicable_blanket_impls ( tcx, alias. trait_def_id ( tcx) )
3333 && !may_normalize_via_env ( param_env, alias)
3434}
3535
36+ // FIXME: This could check whether the blanket impl has any where-bounds
37+ // which definitely don't hold. Doing so is quite annoying, both just in
38+ // general, but we also have to be careful about builtin blanket impls,
39+ // e.g. `DiscriminantKind`.
3640#[ instrument( level = "trace" , skip( tcx) , ret) ]
37- fn no_blanket_impls < ' tcx > ( tcx : TyCtxt < ' tcx > , trait_def_id : DefId ) -> bool {
41+ fn no_applicable_blanket_impls < ' tcx > ( tcx : TyCtxt < ' tcx > , trait_def_id : DefId ) -> bool {
3842 // FIXME(ptr_metadata): There's currently a builtin impl for `Pointee` which
3943 // applies for all `T` as long as `T: Sized` holds. THis impl should
4044 // get removed in favor of `Pointee` being a super trait of `Sized`.
You can’t perform that action at this time.
0 commit comments