1
Fork 0

Don't CoerceUnsized dyn* to dyn*

This commit is contained in:
Michael Goulet 2022-11-10 23:36:20 +00:00
parent 0af211af67
commit 6e6c49e7ce
3 changed files with 28 additions and 2 deletions

View file

@ -779,7 +779,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
match (source.kind(), target.kind()) {
// Trait+Kx+'a -> Trait+Ky+'b (upcasts).
(&ty::Dynamic(ref data_a, ..), &ty::Dynamic(ref data_b, ..)) => {
(&ty::Dynamic(ref data_a, _, ty::Dyn), &ty::Dynamic(ref data_b, _, ty::Dyn)) => {
// Upcast coercions permit several things:
//
// 1. Dropping auto traits, e.g., `Foo + Send` to `Foo`

View file

@ -1145,7 +1145,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
}));
}
_ => bug!(),
_ => bug!("source: {source}, target: {target}"),
};
Ok(ImplSourceBuiltinData { nested })