intern offsetof fields
This commit is contained in:
parent
511e457c4b
commit
61f23e0003
8 changed files with 33 additions and 11 deletions
|
@ -481,8 +481,8 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
|
|||
}))))
|
||||
}
|
||||
|
||||
ExprKind::OffsetOf { container, ref fields } => {
|
||||
block.and(Rvalue::NullaryOp(NullOp::OffsetOf(fields.clone()), container))
|
||||
ExprKind::OffsetOf { container, fields } => {
|
||||
block.and(Rvalue::NullaryOp(NullOp::OffsetOf(fields), container))
|
||||
}
|
||||
|
||||
ExprKind::Literal { .. }
|
||||
|
|
|
@ -667,7 +667,7 @@ impl<'tcx> Cx<'tcx> {
|
|||
hir::ExprKind::OffsetOf(_, _) => {
|
||||
let data = self.typeck_results.offset_of_data();
|
||||
let &(container, ref indices) = data.get(expr.hir_id).unwrap();
|
||||
let fields = indices.iter().copied().collect();
|
||||
let fields = tcx.mk_fields_from_iter(indices.iter().copied());
|
||||
|
||||
ExprKind::OffsetOf { container, fields }
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue