Safe Transmute: Fix propagation of errors

- Make sure that the most specific Reason is the one that bubbles up when we
  are folding over the `Answer` tree. `Reason::DstIsBitIncompatible` is the
  least specific, so that should be used only when there isn't anything else
  available.
- Small fixes where we used the wrong Reason variant.
- Tiny cleanups
This commit is contained in:
Bryan Garza
2023-04-27 17:19:16 -07:00
parent 263a4f2cb6
commit 94ad084ac6
12 changed files with 67 additions and 52 deletions

View File

@@ -329,7 +329,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
)
};
// // FIXME(bryangarza): Check src.mutability or dst.mutability to know whether dst -> src obligation is needed
// FIXME(bryangarza): Check src.mutability or dst.mutability to know whether dst -> src obligation is needed
Ok(vec![make_obl(src.ty, dst.ty), make_obl(dst.ty, src.ty)])
}
}