Skip to content

Commit 2322dff

Browse files
committed
add fixme :(
1 parent cff9321 commit 2322dff

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

compiler/rustc_trait_selection/src/solve/normalizes_to/fast_reject.rs

+6-2
Original file line numberDiff line numberDiff 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`.

0 commit comments

Comments
 (0)