check for correct trait in size_and_align_of
This commit is contained in:
parent
af4d6c74ef
commit
d041b7cf30
4 changed files with 10 additions and 7 deletions
|
@ -765,10 +765,10 @@ impl<'tcx, M: Machine<'tcx>> InterpCx<'tcx, M> {
|
|||
}
|
||||
Ok(Some((full_size, full_align)))
|
||||
}
|
||||
ty::Dynamic(_, _, ty::Dyn) => {
|
||||
ty::Dynamic(expected_trait, _, ty::Dyn) => {
|
||||
let vtable = metadata.unwrap_meta().to_pointer(self)?;
|
||||
// Read size and align from vtable (already checks size).
|
||||
Ok(Some(self.get_vtable_size_and_align(vtable)?))
|
||||
Ok(Some(self.get_vtable_size_and_align(vtable, Some(expected_trait))?))
|
||||
}
|
||||
|
||||
ty::Slice(_) | ty::Str => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue