Bug
compiler/rustc_next_trait_solver/src/solve/normalizes_to.rs:
consider_builtin_pointee_candidate: ty::UnsafeBinder(_) => todo!()
consider_builtin_discriminant_kind_candidate: ty::UnsafeBinder(_) => todo!("discr subgoal...")
Origin
Unsafe binder type system work; incomplete solver support:
rust-lang@9a1c5eb5b38
Impact
ICE normalizing <unsafe<T> as Pointee>::Metadata or <unsafe<T> as DiscriminantKind>::Discriminant (feature-gated; part of #567).
Fix
Pointee: recurse through inner type via with_replaced_self_ty. Discriminant: use discriminant_ty which already handles UnsafeBinder inners.
Bug
compiler/rustc_next_trait_solver/src/solve/normalizes_to.rs:consider_builtin_pointee_candidate:ty::UnsafeBinder(_) => todo!()consider_builtin_discriminant_kind_candidate:ty::UnsafeBinder(_) => todo!("discr subgoal...")Origin
Unsafe binder type system work; incomplete solver support:
rust-lang@9a1c5eb5b38
Impact
ICE normalizing
<unsafe<T> as Pointee>::Metadataor<unsafe<T> as DiscriminantKind>::Discriminant(feature-gated; part of #567).Fix
Pointee: recurse through inner type via
with_replaced_self_ty. Discriminant: usediscriminant_tywhich already handlesUnsafeBinderinners.