Closed
Description
struct MaybeSized<T: ?Sized>(T);
fn is_sized<T: Sized>() -> Box<T> { todo!() }
fn foo<T: ?Sized>()
where
MaybeSized<T>: Sized,
{
is_sized::<MaybeSized<_>>();
}
this compiles with the old solver, inferring the _
to T
. It has a ParamEnv
and a BuiltinCandidate { has_nested: true }
candidate and prefers the ParamEnv
candidate here.
The new solver encounters a trivial impl candidate and a ParamEnv
one, preferring the trivial builtin.
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
done