mirror of
https://github.com/rust-lang/rust.git
synced 2026-06-03 01:16:14 +03:00
fix for FieldPlacement rename
This commit is contained in:
+3
-3
@@ -324,19 +324,19 @@ fn visit_aggregate(
|
||||
fields: impl Iterator<Item = InterpResult<'tcx, MPlaceTy<'tcx, Tag>>>,
|
||||
) -> InterpResult<'tcx> {
|
||||
match place.layout.fields {
|
||||
layout::FieldPlacement::Array { .. } => {
|
||||
layout::FieldsShape::Array { .. } => {
|
||||
// For the array layout, we know the iterator will yield sorted elements so
|
||||
// we can avoid the allocation.
|
||||
self.walk_aggregate(place, fields)
|
||||
}
|
||||
layout::FieldPlacement::Arbitrary { .. } => {
|
||||
layout::FieldsShape::Arbitrary { .. } => {
|
||||
// Gather the subplaces and sort them before visiting.
|
||||
let mut places =
|
||||
fields.collect::<InterpResult<'tcx, Vec<MPlaceTy<'tcx, Tag>>>>()?;
|
||||
places.sort_by_key(|place| place.ptr.assert_ptr().offset);
|
||||
self.walk_aggregate(place, places.into_iter().map(Ok))
|
||||
}
|
||||
layout::FieldPlacement::Union { .. } => {
|
||||
layout::FieldsShape::Union { .. } => {
|
||||
// Uh, what?
|
||||
bug!("a union is not an aggregate we should ever visit")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user